From 2a318eb3f23267eb3688c74331763623b88836f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Fri, 18 Aug 2017 14:16:22 +0800 Subject: [PATCH] wayland/output: Flush clients after creating wl_output global In order to give the clients the best chance to bind the wl_output before we later remove it (for example on fast hot plugs or in the test suite), flush the client sockets after creating the global. https://bugzilla.gnome.org/show_bug.cgi?id=730551 --- src/wayland/meta-wayland-outputs.c | 3 +++ src/wayland/meta-wayland.c | 6 ++++++ src/wayland/meta-wayland.h | 2 ++ 3 files changed, 11 insertions(+) diff --git a/src/wayland/meta-wayland-outputs.c b/src/wayland/meta-wayland-outputs.c index 7cb10f98e..db8d240f2 100644 --- a/src/wayland/meta-wayland-outputs.c +++ b/src/wayland/meta-wayland-outputs.c @@ -307,6 +307,8 @@ static MetaWaylandOutput * meta_wayland_output_new (MetaWaylandCompositor *compositor, MetaLogicalMonitor *logical_monitor) { + MetaWaylandCompositor *wayland_compositor = + meta_wayland_compositor_get_default (); MetaWaylandOutput *wayland_output; wayland_output = g_object_new (META_TYPE_WAYLAND_OUTPUT, NULL); @@ -314,6 +316,7 @@ meta_wayland_output_new (MetaWaylandCompositor *compositor, &wl_output_interface, META_WL_OUTPUT_VERSION, wayland_output, bind_output); + meta_wayland_compositor_flush_clients (wayland_compositor); meta_wayland_output_set_logical_monitor (wayland_output, logical_monitor); return wayland_output; diff --git a/src/wayland/meta-wayland.c b/src/wayland/meta-wayland.c index 414c7fb5b..965088221 100644 --- a/src/wayland/meta-wayland.c +++ b/src/wayland/meta-wayland.c @@ -445,3 +445,9 @@ meta_wayland_compositor_is_shortcuts_inhibited (MetaWaylandCompositor *composito return FALSE; } + +void +meta_wayland_compositor_flush_clients (MetaWaylandCompositor *compositor) +{ + wl_display_flush_clients (compositor->wayland_display); +} diff --git a/src/wayland/meta-wayland.h b/src/wayland/meta-wayland.h index 95e796ecd..d5795c1c2 100644 --- a/src/wayland/meta-wayland.h +++ b/src/wayland/meta-wayland.h @@ -63,5 +63,7 @@ void meta_wayland_compositor_restore_shortcuts (MetaWayl gboolean meta_wayland_compositor_is_shortcuts_inhibited (MetaWaylandCompositor *compositor, ClutterInputDevice *source); +void meta_wayland_compositor_flush_clients (MetaWaylandCompositor *compositor); + #endif