Update previous patch to final upstream version

This commit is contained in:
Kalev Lember 2019-09-12 11:26:25 +02:00
parent 925c5eb245
commit 31b0b839af
2 changed files with 55 additions and 18 deletions

View File

@ -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 <carlosg@gnome.org>
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

View File

@ -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 <klember@redhat.com> - 3.34.0-3
- Update previous patch to final upstream version
* Wed Sep 11 2019 Kalev Lember <klember@redhat.com> - 3.34.0-2
- Backport a patch to fix xsettings/ibus-x11 initialization (#1750512)