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:
Derek Foreman
2015-08-06 12:19:51 -05:00
committed by Bryce Harrington
parent 74a635b1ec
commit 87c862a9d9
+2 -1
View File
@@ -383,9 +383,10 @@ udev_seat_destroy(struct udev_seat *seat)
struct weston_keyboard *keyboard =
weston_seat_get_keyboard(&seat->base);
udev_seat_remove_devices(seat);
if (keyboard)
notify_keyboard_focus_out(&seat->base);
udev_seat_remove_devices(seat);
weston_seat_release(&seat->base);
wl_list_remove(&seat->output_create_listener.link);
free(seat);