[PATCH v2 weston 02/17] exposay: Test keyboard presence before using keyboard pointer

Derek Foreman derekf at osg.samsung.com
Wed Jul 15 11:00:33 PDT 2015


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

Reviewed-by: Jonas Ã…dahl <jadahl at gmail.com>
Signed-off-by: Derek Foreman <derekf at 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



More information about the wayland-devel mailing list