summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-05-17 16:02:53 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-05-19 12:41:16 -0400
commit0b10aa7f1988be18d7dfe87f374a171322d90f49 (patch)
tree991995ce9d11dab1146b95b0ee9b2cb193fe1afd
parentf2899679273576ef69cc58a889cd8928cb6ebe80 (diff)
downloadefl-0b10aa7f1988be18d7dfe87f374a171322d90f49.tar.gz
ecore-wl2: use nonblocking event flush when disconnecting a client
roundtrip will deadlock if called in a compositor process @fix
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_display.c7
1 files changed, 6 insertions, 1 deletions
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);