From 9e2eb5d2f6c15ccca688194ed8c810c4f88ccdbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Tue, 2 Dec 2014 16:27:28 +0100 Subject: [PATCH] mir: compute the modifiers using the saved button_state on key events --- gdk/mir/gdkmireventsource.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdk/mir/gdkmireventsource.c b/gdk/mir/gdkmireventsource.c index 701f394be2..13f09bbd49 100644 --- a/gdk/mir/gdkmireventsource.c +++ b/gdk/mir/gdkmireventsource.c @@ -258,10 +258,13 @@ get_modifier_state (unsigned int modifiers, unsigned int button_state) static void handle_key_event (GdkWindow *window, const MirKeyEvent *event) { + GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl); guint modifier_state; + MirMotionButton button_state; gboolean is_modifier = FALSE; - modifier_state = get_modifier_state (event->modifiers, 0); // FIXME: Need to track button state + _gdk_mir_window_impl_get_cursor_state (impl, NULL, NULL, NULL, &button_state); + modifier_state = get_modifier_state (event->modifiers, button_state); switch (event->action) {