[mutter/wip/carlosg/async-xwayland-startup] x11: Set up the compositing manager selection on meta_display_init_x11()
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/carlosg/async-xwayland-startup] x11: Set up the compositing manager selection on meta_display_init_x11()
- Date: Fri, 28 Feb 2020 18:16:06 +0000 (UTC)
commit bffb016bdd7344d16386374abd619d7c373f999e
Author: Carlos Garnacho <carlosg gnome org>
Date: Fri Feb 28 18:59:39 2020 +0100
x11: Set up the compositing manager selection on meta_display_init_x11()
This used to be set on meta_compositor_manage(), but only if there is a
MetaX11Display. Given meta_display_init_x11() is Wayland only, and we can
always assume compositing to be enabled, just have it invariably set after
the X server is up.
Given that on Wayland we are pretty much guaranteed to finish MetaX11Display
setup after the MetaCompositor is enabled, we can also drop that from
common MetaCompositor code, and into the MetaX11Compositor to cater for the
X11 windowing.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/944
src/compositor/compositor.c | 3 ---
src/compositor/meta-compositor-x11.c | 2 ++
src/core/display.c | 1 +
3 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index 8315ca56e..537f58b42 100644
--- a/src/compositor/compositor.c
+++ b/src/compositor/compositor.c
@@ -558,9 +558,6 @@ meta_compositor_manage (MetaCompositor *compositor)
MetaDisplay *display = priv->display;
MetaBackend *backend = meta_get_backend ();
- if (display->x11_display)
- meta_x11_display_set_cm_selection (display->x11_display);
-
priv->stage = meta_backend_get_stage (backend);
priv->stage_presented_id =
diff --git a/src/compositor/meta-compositor-x11.c b/src/compositor/meta-compositor-x11.c
index fce3f830c..65e22b075 100644
--- a/src/compositor/meta-compositor-x11.c
+++ b/src/compositor/meta-compositor-x11.c
@@ -109,6 +109,8 @@ meta_compositor_x11_manage (MetaCompositor *compositor)
MetaBackend *backend = meta_get_backend ();
Window xwindow;
+ meta_x11_display_set_cm_selection (display->x11_display);
+
compositor_x11->output = display->x11_display->composite_overlay_window;
xwindow = meta_backend_x11_get_xwindow (META_BACKEND_X11 (backend));
diff --git a/src/core/display.c b/src/core/display.c
index 8b9b6c98a..0ab806ea1 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -708,6 +708,7 @@ meta_display_init_x11_finish (MetaDisplay *display,
if (!display->display_opening)
{
g_signal_emit (display, display_signals[X11_DISPLAY_OPENED], 0);
+ meta_x11_display_set_cm_selection (x11_display);
meta_display_manage_all_xwindows (display);
meta_compositor_redirect_x11_windows (display->compositor);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]