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
This commit is contained in:
Jonas Ådahl 2017-08-18 14:16:22 +08:00
parent 522eec00cd
commit 2a318eb3f2
3 changed files with 11 additions and 0 deletions

View File

@ -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;

View File

@ -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);
}

View File

@ -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