We shouldn't actually use the keyboard pointer unless we check that
a keyboard is present.
Reviewed-by: Jonas Ã…dahl <jadahl@gmail.com>
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
{
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;
}