input: when destroying a seat, remove keyboard focus first
If we destroy all the devices before trying to remove keyboard focus we'll segfault because we destroyed the keyboard. Signed-off-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Ryo Munakata <ryomnktml@gmail.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
This commit is contained in:
committed by
Bryce Harrington
parent
74a635b1ec
commit
87c862a9d9
+2
-1
@@ -383,9 +383,10 @@ udev_seat_destroy(struct udev_seat *seat)
|
|||||||
struct weston_keyboard *keyboard =
|
struct weston_keyboard *keyboard =
|
||||||
weston_seat_get_keyboard(&seat->base);
|
weston_seat_get_keyboard(&seat->base);
|
||||||
|
|
||||||
udev_seat_remove_devices(seat);
|
|
||||||
if (keyboard)
|
if (keyboard)
|
||||||
notify_keyboard_focus_out(&seat->base);
|
notify_keyboard_focus_out(&seat->base);
|
||||||
|
|
||||||
|
udev_seat_remove_devices(seat);
|
||||||
weston_seat_release(&seat->base);
|
weston_seat_release(&seat->base);
|
||||||
wl_list_remove(&seat->output_create_listener.link);
|
wl_list_remove(&seat->output_create_listener.link);
|
||||||
free(seat);
|
free(seat);
|
||||||
|
|||||||
Reference in New Issue
Block a user