From 0b10aa7f1988be18d7dfe87f374a171322d90f49 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 17 May 2017 16:02:53 -0400 Subject: [PATCH] ecore-wl2: use nonblocking event flush when disconnecting a client roundtrip will deadlock if called in a compositor process @fix --- src/lib/ecore_wl2/ecore_wl2_display.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c b/src/lib/ecore_wl2/ecore_wl2_display.c index 0832c69505..61b15b33ad 100644 --- a/src/lib/ecore_wl2/ecore_wl2_display.c +++ b/src/lib/ecore_wl2/ecore_wl2_display.c @@ -818,7 +818,12 @@ ecore_wl2_display_disconnect(Ecore_Wl2_Display *display) --display->refs; if (display->refs == 0) { - wl_display_roundtrip(display->wl.display); + int ret; + + do + { + ret = wl_display_dispatch_pending(display->wl.display); + } while (ret > 0); _ecore_wl2_display_cleanup(display);