Accepting request 1191607 from GNOME:Next

- Update to version 46.4:
  + Fix nested popovers on wayland.
  + Misc. bug fixes and cleanups.
  + Updated translations.
- Drop mutter-fix-x11-restart.patch: fixed upstream.

OBS-URL: https://build.opensuse.org/request/show/1191607
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=514
This commit is contained in:
Bjørn Lie 2024-08-05 17:13:38 +00:00 committed by Git OBS Bridge
parent 901cef37f4
commit bb632437b8
7 changed files with 17 additions and 192 deletions

View File

@ -3,7 +3,7 @@
<service name="obs_scm" mode="manual"> <service name="obs_scm" mode="manual">
<param name="scm">git</param> <param name="scm">git</param>
<param name="url">https://gitlab.gnome.org/GNOME/mutter.git</param> <param name="url">https://gitlab.gnome.org/GNOME/mutter.git</param>
<param name="revision">46.3.1</param> <param name="revision">46.4</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">(.*)\+0</param> <param name="versionrewrite-pattern">(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param> <param name="versionrewrite-replacement">\1</param>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f05adf88ec373f4dda6171178e8ad831dd42efd2dc3f716f9db073628445fc6d
size 30415373

3
mutter-46.4.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7a367792ce83f6f216543816823ee7d0e3a4cdc85cb6adb595f6f8e618ad40a4
size 30414861

View File

@ -1,181 +0,0 @@
From b7a1159a1ecd08b5e6aa1279fea84accf846b411 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
Date: Fri, 20 Oct 2023 15:44:29 +0800
Subject: [PATCH 1/4] x11-display: Make subwindow redirection call mode
specific
This means that for X11 sessions we'll do it before any windows are
mapped, and before any plugin implementation is started. Doing it before
a plugin is started is important, because things that the plugin does
during startup can have consequences on how compositing on Xorg works.
For the Xwayland case, we'll do it relatively in the setup phase. It
appears to have been harmless to do it later in the post-opened signal,
but there is no harm in doing it as one of the earlier steps.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3089
---
src/compositor/meta-compositor-x11.c | 2 ++
src/wayland/meta-xwayland.c | 1 +
src/x11/meta-x11-display.c | 1 -
3 files changed, 3 insertions(+), 1 deletion(-)
Index: mutter-46.3/src/compositor/meta-compositor-x11.c
===================================================================
--- mutter-46.3.orig/src/compositor/meta-compositor-x11.c
+++ mutter-46.3/src/compositor/meta-compositor-x11.c
@@ -188,6 +188,8 @@ meta_compositor_x11_manage (MetaComposit
compositor_x11->have_x11_sync_object = meta_sync_ring_init (xdisplay);
+ meta_x11_display_redirect_windows (x11_display, display);
+
return TRUE;
}
Index: mutter-46.3/src/wayland/meta-xwayland.c
===================================================================
--- mutter-46.3.orig/src/wayland/meta-xwayland.c
+++ mutter-46.3/src/wayland/meta-xwayland.c
@@ -1180,6 +1180,7 @@ on_x11_display_setup (MetaDisplay
{
MetaX11Display *x11_display = meta_display_get_x11_display (display);
+ meta_x11_display_redirect_windows (x11_display, display);
meta_xwayland_init_dnd (x11_display);
meta_xwayland_init_xrandr (manager, x11_display);
}
Index: mutter-46.3/src/x11/meta-x11-display.c
===================================================================
--- mutter-46.3.orig/src/x11/meta-x11-display.c
+++ mutter-46.3/src/x11/meta-x11-display.c
@@ -306,8 +306,32 @@ static void
on_x11_display_opened (MetaX11Display *x11_display,
MetaDisplay *display)
{
+ Window old_active_xwindow = None;
+
+ if (!meta_is_wayland_compositor ())
+ {
+ meta_prop_get_window (display->x11_display,
+ display->x11_display->xroot,
+ display->x11_display->atom__NET_ACTIVE_WINDOW,
+ &old_active_xwindow);
+ }
+
meta_display_manage_all_xwindows (display);
- meta_x11_display_redirect_windows (x11_display, display);
+
+ if (old_active_xwindow != None)
+ {
+ MetaWindow *old_active_window;
+
+ old_active_window = meta_x11_display_lookup_x_window (x11_display,
+ old_active_xwindow);
+ if (old_active_window)
+ {
+ uint32_t timestamp;
+
+ timestamp = display->x11_display->timestamp;
+ meta_window_focus (old_active_window, timestamp);
+ }
+ }
}
static void
Index: mutter-46.3/src/core/display.c
===================================================================
--- mutter-46.3.orig/src/core/display.c
+++ mutter-46.3/src/core/display.c
@@ -908,9 +908,9 @@ meta_display_init_x11 (MetaDisplay
}
static void
-on_x11_initialized (MetaDisplay *display,
- GAsyncResult *result,
- gpointer user_data)
+on_mandatory_x11_initialized (MetaDisplay *display,
+ GAsyncResult *result,
+ gpointer user_data)
{
g_autoptr (GError) error = NULL;
@@ -941,9 +941,6 @@ meta_display_new (MetaContext *context,
MetaDisplay *display;
MetaDisplayPrivate *priv;
guint32 timestamp;
-#ifdef HAVE_X11_CLIENT
- Window old_active_xwindow = None;
-#endif
MetaMonitorManager *monitor_manager;
MetaSettings *settings;
MetaInputCapture *input_capture;
@@ -1032,7 +1029,7 @@ meta_display_new (MetaContext *context,
if (x11_display_policy == META_X11_DISPLAY_POLICY_MANDATORY)
{
meta_display_init_x11 (display, NULL,
- (GAsyncReadyCallback) on_x11_initialized,
+ (GAsyncReadyCallback) on_mandatory_x11_initialized,
NULL);
}
#endif /* HAVE_XWAYLAND */
@@ -1059,14 +1056,6 @@ meta_display_new (MetaContext *context,
display->last_focus_time = timestamp;
display->last_user_time = timestamp;
-#ifdef HAVE_X11
- if (!meta_is_wayland_compositor ())
- meta_prop_get_window (display->x11_display,
- display->x11_display->xroot,
- display->x11_display->atom__NET_ACTIVE_WINDOW,
- &old_active_xwindow);
-#endif
-
if (!meta_compositor_manage (display->compositor, error))
{
g_object_unref (display);
@@ -1087,30 +1076,7 @@ meta_display_new (MetaContext *context,
g_signal_connect (display->gesture_tracker, "state-changed",
G_CALLBACK (gesture_tracker_state_changed), display);
- /* We know that if mutter is running as a Wayland compositor,
- * we start out with no windows.
- */
-#ifdef HAVE_X11_CLIENT
- if (!meta_is_wayland_compositor ())
- meta_display_manage_all_xwindows (display);
-
- if (old_active_xwindow != None)
- {
- MetaWindow *old_active_window;
- old_active_window = meta_x11_display_lookup_x_window (display->x11_display,
- old_active_xwindow);
- if (old_active_window)
- meta_window_focus (old_active_window, timestamp);
- else
- meta_display_unset_input_focus (display, timestamp);
- }
- else
- {
- meta_display_unset_input_focus (display, timestamp);
- }
-#else
meta_display_unset_input_focus (display, timestamp);
-#endif
g_signal_connect (stage, "notify::is-grabbed",
G_CALLBACK (on_is_grabbed_changed), display);
Index: mutter-46.3/src/tests/x11-test.sh
===================================================================
--- mutter-46.3.orig/src/tests/x11-test.sh
+++ mutter-46.3/src/tests/x11-test.sh
@@ -34,6 +34,9 @@ echo \# Launched with pid $MUTTER2_PID
MUTTER2_PID=$!
wait $MUTTER1_PID
+echo \# Waiting for the second mutter to finish loading
+gdbus wait --session org.gnome.Mutter.IdleMonitor
+
sleep 2
echo \# Terminating clients > /dev/stderr

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Mon Aug 5 07:02:25 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 46.4:
+ Fix nested popovers on wayland.
+ Misc. bug fixes and cleanups.
+ Updated translations.
- Drop mutter-fix-x11-restart.patch: fixed upstream.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Jul 30 19:03:30 UTC 2024 - Michael Gorse <mgorse@suse.com> Tue Jul 30 19:03:30 UTC 2024 - Michael Gorse <mgorse@suse.com>

View File

@ -1,4 +1,4 @@
name: mutter name: mutter
version: 46.3.1 version: 46.4
mtime: 1720044640 mtime: 1722785816
commit: c1ffc17331f7e04b185b538fa02cf76b0534c4c8 commit: 04995f56641012d71b5b226782e63d82c3ca3081

View File

@ -22,7 +22,7 @@
%define api_minor 0 %define api_minor 0
%define libmutter libmutter-%{api_major}-%{api_minor} %define libmutter libmutter-%{api_major}-%{api_minor}
Name: mutter Name: mutter
Version: 46.3.1 Version: 46.4
Release: 0 Release: 0
Summary: Window and compositing manager based on Clutter Summary: Window and compositing manager based on Clutter
License: GPL-2.0-or-later License: GPL-2.0-or-later
@ -34,8 +34,6 @@ Source0: %{name}-%{version}.tar.zst
Patch1: mutter-disable-cvt-s390x.patch Patch1: mutter-disable-cvt-s390x.patch
# PATCH-FIX-OPENSUSE mutter-window-actor-Special-case-shaped-Java-windows.patch -- window-actor: Special-case shaped Java windows # PATCH-FIX-OPENSUSE mutter-window-actor-Special-case-shaped-Java-windows.patch -- window-actor: Special-case shaped Java windows
Patch2: mutter-window-actor-Special-case-shaped-Java-windows.patch Patch2: mutter-window-actor-Special-case-shaped-Java-windows.patch
# PATCH-FIX-UPSTREAM mutter-fix-x11-restart.patch glgo#GNOME/gnome-shell#7050 glgo#GNOME/mutter!3329 alynx.zhou@suse.com -- Fix crash on restarting mutter under x11
Patch3: mutter-fix-x11-restart.patch
# PATCH-FIX-OPENSUSE 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch glgo#GNOME/mutter#3302 bsc#1219546 alynx.zhou@suse.com -- Fix partial update on VT switch # PATCH-FIX-OPENSUSE 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch glgo#GNOME/mutter#3302 bsc#1219546 alynx.zhou@suse.com -- Fix partial update on VT switch
Patch4: 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch Patch4: 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch
#PATCH-FEATURE-OPENSUSE mutter-implement-text-input-v1.patch glgo#GNOME/mutter!3751 bsc#1219505 alynx.zhou@suse.com -- Allow input method to work in Wayland Chromium #PATCH-FEATURE-OPENSUSE mutter-implement-text-input-v1.patch glgo#GNOME/mutter!3751 bsc#1219505 alynx.zhou@suse.com -- Allow input method to work in Wayland Chromium
@ -150,7 +148,6 @@ applications that want to make use of the mutter library.
%patch -P 1 -p1 %patch -P 1 -p1
%patch -P 2 -p1 %patch -P 2 -p1
%patch -P 3 -p1 %patch -P 3 -p1
%patch -P 4 -p1
%patch -P 5 -p1 %patch -P 5 -p1
%endif %endif
# SLE-only patches and translations. # SLE-only patches and translations.