From a242129257e1eb9632ea6884d84a08ca9e8a1265 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Wed, 1 Dec 2010 09:39:37 -0500 Subject: [PATCH] Fix key handler to not run handlers from an empty list --- wayland/wayland-client.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wayland/wayland-client.c b/wayland/wayland-client.c index fddee71..aaf2066 100644 --- a/wayland/wayland-client.c +++ b/wayland/wayland-client.c @@ -300,7 +300,7 @@ display_handle_key(void *data, sync_handler = container_of(display->sync_list.next, struct wl_sync_handler, link); - if (sync_handler->key == key) { + if (!wl_list_empty(&display->sync_list) && sync_handler->key == key) { wl_list_remove(&sync_handler->link); sync_handler->func(sync_handler->data); free(sync_handler); @@ -309,7 +309,8 @@ display_handle_key(void *data, frame_handler = container_of(display->frame_list. next, struct wl_frame_handler, link); - if (frame_handler->key == key) { + if (!wl_list_empty(&display->frame_list) && + frame_handler->key == key) { wl_list_remove(&frame_handler->link); frame_handler->func(frame_handler->data, time); free(frame_handler); -- 2.7.4