aboutsummaryrefslogtreecommitdiff
path: root/rootston/seat.c
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-02-23 08:19:37 -0500
committerGitHub <noreply@github.com>2018-02-23 08:19:37 -0500
commit5ad15c90d507b9658f2917588b6e1bcf33c4615f (patch)
treea8a6b751d56d1f5ec09d47bddb0e3c4fbe939149 /rootston/seat.c
parentbd9583a7e8108ab4fd31fc5ab6f7c1552258fa6e (diff)
parentca3a9478640e6e70b89a988fd0005e6b57b6b35c (diff)
Merge pull request #664 from emersion/fix-various-use-after-free
Fix a bunch of use-after-free
Diffstat (limited to 'rootston/seat.c')
-rw-r--r--rootston/seat.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/rootston/seat.c b/rootston/seat.c
index 38c26628..1b7d05c4 100644
--- a/rootston/seat.c
+++ b/rootston/seat.c
@@ -408,10 +408,10 @@ static void handle_keyboard_destroy(struct wl_listener *listener, void *data) {
struct roots_keyboard *keyboard =
wl_container_of(listener, keyboard, device_destroy);
struct roots_seat *seat = keyboard->seat;
- roots_keyboard_destroy(keyboard);
wl_list_remove(&keyboard->device_destroy.link);
wl_list_remove(&keyboard->keyboard_key.link);
wl_list_remove(&keyboard->keyboard_modifiers.link);
+ roots_keyboard_destroy(keyboard);
seat_update_capabilities(seat);
}