summaryrefslogtreecommitdiff
path: root/src/wayland-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/wayland-client.c')
-rw-r--r--src/wayland-client.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/wayland-client.c b/src/wayland-client.c
index f7d7e68..a50fc18 100644
--- a/src/wayland-client.c
+++ b/src/wayland-client.c
@@ -312,6 +312,7 @@ wl_event_queue_release(struct wl_event_queue *queue)
wl_log(" %s@%u still attached\n",
proxy->object.interface->name,
proxy->object.id);
+ proxy->queue = NULL;
wl_list_remove(&proxy->queue_link);
wl_list_init(&proxy->queue_link);
}
@@ -541,6 +542,7 @@ proxy_destroy(struct wl_proxy *proxy)
proxy->flags |= WL_PROXY_FLAG_DESTROYED;
+ proxy->queue = NULL;
wl_list_remove(&proxy->queue_link);
wl_list_init(&proxy->queue_link);
@@ -1564,6 +1566,9 @@ queue_event(struct wl_display *display, int len)
else
queue = proxy->queue;
+ if (!queue)
+ wl_abort("Tried to add event to destroyed queue\n");
+
wl_list_insert(queue->event_list.prev, &closure->link);
return size;