We shouldn't actually use the keyboard pointer unless we check that
a keyboard is present.

Reviewed-by: Jonas Ådahl <jad...@gmail.com>
Signed-off-by: Derek Foreman <der...@osg.samsung.com>
---
 desktop-shell/exposay.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/desktop-shell/exposay.c b/desktop-shell/exposay.c
index ea2a375..e59d17e 100644
--- a/desktop-shell/exposay.c
+++ b/desktop-shell/exposay.c
@@ -520,11 +520,14 @@ exposay_set_inactive(struct desktop_shell *shell)
 {
        struct weston_seat *seat = shell->exposay.seat;
 
-       weston_keyboard_end_grab(seat->keyboard);
        if (seat->pointer_device_count)
                weston_pointer_end_grab(seat->pointer);
-       if (seat->keyboard->input_method_resource)
-               seat->keyboard->grab = &seat->keyboard->input_method_grab;
+
+       if (!seat->keyboard_device_count) {
+               weston_keyboard_end_grab(seat->keyboard);
+               if (seat->keyboard->input_method_resource)
+                       seat->keyboard->grab = 
&seat->keyboard->input_method_grab;
+       }
 
        return EXPOSAY_LAYOUT_INACTIVE;
 }
-- 
2.1.4

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to