wayland: Set the clutter stage focus when we focus a window

Otherwise clutter events don't have their source actor properly set
and we aren't able to determine the MetaWindow to which a given
keybinding applies.

https://bugzilla.gnome.org/show_bug.cgi?id=719724
This commit is contained in:
Rui Matos 2013-11-25 17:44:07 +01:00
parent 0850da44d7
commit 20e92c5a72

View File

@ -210,10 +210,13 @@ meta_wayland_compositor_set_input_focus (MetaWaylandCompositor *compositor,
MetaWindow *window) MetaWindow *window)
{ {
MetaWaylandSurface *surface = window ? window->surface : NULL; MetaWaylandSurface *surface = window ? window->surface : NULL;
ClutterActor *window_actor = window ? CLUTTER_ACTOR (meta_window_get_compositor_private (window)) : NULL;
meta_wayland_keyboard_set_focus (&compositor->seat->keyboard, meta_wayland_keyboard_set_focus (&compositor->seat->keyboard,
surface); surface);
meta_wayland_data_device_set_keyboard_focus (compositor->seat); meta_wayland_data_device_set_keyboard_focus (compositor->seat);
clutter_stage_set_key_focus (CLUTTER_STAGE (compositor->stage), window_actor);
} }
void void