From 12c051d5c673d79c16a3a1478c0977799484ca95 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sat, 23 Aug 2014 15:33:13 +0100 Subject: sna/dri2: Unhook event from draw list upon client destruction When the client goes away, we need to free its events. However, we have to defer the freeing of any pending event (ones currently routed through the kernel) for those we need to remember to decouple the event from the Drawable's list before they are freed. Reported-by: John Lindgren Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82979 Signed-off-by: Chris Wilson --- src/sna/sna_dri2.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c index 7343ca18..94bfcdab 100644 --- a/src/sna/sna_dri2.c +++ b/src/sna/sna_dri2.c @@ -1392,6 +1392,7 @@ sna_dri2_client_gone(CallbackListPtr *list, void *closure, void *data) assert(event->client == client); if (event->queued) { + sna_dri2_remove_event((WindowPtr)event->draw, event); event->client = NULL; event->draw = NULL; list_del(&event->link); -- cgit v1.2.3