From 31b0b839af1ab5a8e390286dd9c030149e9d64e7 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Thu, 12 Sep 2019 11:26:25 +0200 Subject: [PATCH] Update previous patch to final upstream version --- 792.patch | 68 +++++++++++++++++++++++++++++++++++++++-------------- mutter.spec | 5 +++- 2 files changed, 55 insertions(+), 18 deletions(-) diff --git a/792.patch b/792.patch index 286fec4..8ea9ef9 100644 --- a/792.patch +++ b/792.patch @@ -1,32 +1,53 @@ -From 09fbeec5bb7a848add737c5313e8e035fc24bad1 Mon Sep 17 00:00:00 2001 +From 850ef518795dcc20d3b9a4f661f70ff8d0ddacb2 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho -Date: Wed, 11 Sep 2019 15:27:48 +0200 -Subject: [PATCH] display: Ensure ::x11-display-opened is emitted at a time - there are handlers +Date: Wed, 11 Sep 2019 22:26:49 +0200 +Subject: [PATCH] core: Split x11-display initialization in 2 signals -During display initialization, the MetaX11Display would be opened at a time -when we didn't initialize yet the compositor/plugin. The plugin is certainly -interested in ::x11-display-opened happening, so make sure the signal -happens late enough that the upper layers are able to connect to the signal -in advance. - -Fixes xsettings/ibus-x11 initialization on the still default "initialize -Xwayland on startup" wayland compositor behavior. +We have a "setup" phase, used internally to initialize early the x11 +side of things like the stack tracker, and an "opened" phase where +other upper parts may hook up to. This latter phase is delayed during +initialization so the upper parts have a change to connect to on +plugin creation. Closes: https://gitlab.gnome.org/GNOME/mutter/issues/771 --- - src/core/display.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) + src/core/display.c | 13 ++++++++++++- + src/core/stack-tracker.c | 2 +- + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/core/display.c b/src/core/display.c -index e803f5557..01a5974f4 100644 +index e803f5557..2ddcbbc1f 100644 --- a/src/core/display.c +++ b/src/core/display.c -@@ -657,12 +657,12 @@ meta_display_init_x11 (MetaDisplay *display, +@@ -126,6 +126,7 @@ G_DEFINE_TYPE(MetaDisplay, meta_display, G_TYPE_OBJECT); + enum + { + CURSOR_UPDATED, ++ X11_DISPLAY_SETUP, + X11_DISPLAY_OPENED, + X11_DISPLAY_CLOSING, + OVERLAY_KEY, +@@ -232,6 +233,14 @@ meta_display_class_init (MetaDisplayClass *klass) + NULL, NULL, NULL, + G_TYPE_NONE, 0); + ++ display_signals[X11_DISPLAY_SETUP] = ++ g_signal_new ("x11-display-setup", ++ G_TYPE_FROM_CLASS (klass), ++ G_SIGNAL_RUN_LAST, ++ 0, ++ NULL, NULL, NULL, ++ G_TYPE_NONE, 0); ++ + display_signals[X11_DISPLAY_OPENED] = + g_signal_new ("x11-display-opened", + G_TYPE_FROM_CLASS (klass), +@@ -657,12 +666,13 @@ meta_display_init_x11 (MetaDisplay *display, return FALSE; display->x11_display = x11_display; - g_signal_emit (display, display_signals[X11_DISPLAY_OPENED], 0); ++ g_signal_emit (display, display_signals[X11_DISPLAY_SETUP], 0); meta_x11_display_create_guard_window (x11_display); @@ -36,7 +57,7 @@ index e803f5557..01a5974f4 100644 meta_display_manage_all_xwindows (display); meta_compositor_redirect_x11_windows (display->compositor); } -@@ -803,6 +803,7 @@ meta_display_open (void) +@@ -803,6 +813,7 @@ meta_display_open (void) if (display->x11_display) { @@ -44,6 +65,19 @@ index e803f5557..01a5974f4 100644 meta_x11_display_restore_active_workspace (display->x11_display); meta_x11_display_create_guard_window (display->x11_display); } +diff --git a/src/core/stack-tracker.c b/src/core/stack-tracker.c +index 5a2956c00..a37760ec2 100644 +--- a/src/core/stack-tracker.c ++++ b/src/core/stack-tracker.c +@@ -556,7 +556,7 @@ meta_stack_tracker_new (MetaDisplay *display) + tracker->unverified_predictions = g_queue_new (); + + g_signal_connect (display, +- "x11-display-opened", ++ "x11-display-setup", + G_CALLBACK (query_xserver_stack), + tracker); + g_signal_connect (display, -- 2.22.0 diff --git a/mutter.spec b/mutter.spec index 3b3541f..01a5699 100644 --- a/mutter.spec +++ b/mutter.spec @@ -8,7 +8,7 @@ Name: mutter Version: 3.34.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Window and compositing manager based on Clutter License: GPLv2+ @@ -165,6 +165,9 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop %{_datadir}/mutter-%{mutter_api_version}/tests %changelog +* Thu Sep 12 2019 Kalev Lember - 3.34.0-3 +- Update previous patch to final upstream version + * Wed Sep 11 2019 Kalev Lember - 3.34.0-2 - Backport a patch to fix xsettings/ibus-x11 initialization (#1750512)