mirror of
https://github.com/brl/mutter.git
synced 2024-11-26 10:00:45 -05:00
wayland: Ensure wl_shell_surfaces are set reactive
Wayland clients using the wl_shell interface were never receiving mouse input. It meant they also couldn't be raised with a click. This was because the call to meta_wayland_surface_set_window for wl_shell surfaces did nothing while surface->window == window already. As such, it never called clutter_actor_set_reactive() and the wl_shell window remained a non-reactive actor. Just make sure surface->window isn't already set before calling meta_wayland_surface_set_window so it can actually do what it's meant to. https://bugzilla.gnome.org/show_bug.cgi?id=790309
This commit is contained in:
parent
0bd1d7cf09
commit
294cceaeb8
@ -474,10 +474,11 @@ create_wl_shell_surface_window (MetaWaylandSurface *surface)
|
|||||||
MetaWaylandWlShellSurface *wl_shell_surface =
|
MetaWaylandWlShellSurface *wl_shell_surface =
|
||||||
META_WAYLAND_WL_SHELL_SURFACE (surface->role);
|
META_WAYLAND_WL_SHELL_SURFACE (surface->role);
|
||||||
MetaWaylandSurface *parent;
|
MetaWaylandSurface *parent;
|
||||||
|
MetaWindow *window;
|
||||||
GList *l;
|
GList *l;
|
||||||
|
|
||||||
surface->window = meta_window_wayland_new (meta_get_display (), surface);
|
window = meta_window_wayland_new (meta_get_display (), surface);
|
||||||
meta_wayland_surface_set_window (surface, surface->window);
|
meta_wayland_surface_set_window (surface, window);
|
||||||
|
|
||||||
if (wl_shell_surface->title)
|
if (wl_shell_surface->title)
|
||||||
meta_window_set_title (surface->window, wl_shell_surface->title);
|
meta_window_set_title (surface->window, wl_shell_surface->title);
|
||||||
|
Loading…
Reference in New Issue
Block a user