compositor: Shuffle x11 compositing bits in MetaCompositor

Given that on Wayland we are pretty much guaranteed to finish MetaX11Display
setup after the MetaCompositor is enabled, we may drop the
meta_compositor_manage() x11 initialization bits, and move them into the
MetaX11Compositor subclass where it's actually needed.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/944
This commit is contained in:
Carlos Garnacho 2020-02-28 18:59:39 +01:00 committed by Jonas Ådahl
parent 25c9e66c73
commit 4b513a31ae
2 changed files with 4 additions and 5 deletions

View File

@ -558,9 +558,6 @@ meta_compositor_manage (MetaCompositor *compositor)
MetaDisplay *display = priv->display; MetaDisplay *display = priv->display;
MetaBackend *backend = meta_get_backend (); 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 = meta_backend_get_stage (backend);
priv->stage_presented_id = priv->stage_presented_id =
@ -592,8 +589,6 @@ meta_compositor_manage (MetaCompositor *compositor)
META_COMPOSITOR_GET_CLASS (compositor)->manage (compositor); META_COMPOSITOR_GET_CLASS (compositor)->manage (compositor);
meta_compositor_redirect_x11_windows (compositor);
priv->plugin_mgr = meta_plugin_manager_new (compositor); priv->plugin_mgr = meta_plugin_manager_new (compositor);
} }

View File

@ -109,6 +109,8 @@ meta_compositor_x11_manage (MetaCompositor *compositor)
MetaBackend *backend = meta_get_backend (); MetaBackend *backend = meta_get_backend ();
Window xwindow; Window xwindow;
meta_x11_display_set_cm_selection (display->x11_display);
compositor_x11->output = display->x11_display->composite_overlay_window; compositor_x11->output = display->x11_display->composite_overlay_window;
xwindow = meta_backend_x11_get_xwindow (META_BACKEND_X11 (backend)); xwindow = meta_backend_x11_get_xwindow (META_BACKEND_X11 (backend));
@ -135,6 +137,8 @@ meta_compositor_x11_manage (MetaCompositor *compositor)
XMapWindow (xdisplay, compositor_x11->output); XMapWindow (xdisplay, compositor_x11->output);
compositor_x11->have_x11_sync_object = meta_sync_ring_init (xdisplay); compositor_x11->have_x11_sync_object = meta_sync_ring_init (xdisplay);
meta_compositor_redirect_x11_windows (META_COMPOSITOR (compositor));
} }
static void static void