From 8245c1eb7a38a177ba2ff536949b34c00288e18c Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Wed, 30 Nov 2016 14:40:11 -0600 Subject: [PATCH] Fix keyboard tracking when leaving an xdg shell window _parent_client_contains_pointer() shouldn't return true if there is no parent client. This could result in leaving stale resources in the keyboard focus list and crash the compositor. --- src/bin/e_comp_wl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 4fc66f61d..e1691ce8a 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -55,6 +55,8 @@ _parent_client_contains_pointer(E_Client *ec) while (top->parent) top = top->parent; + if (top == ec) return EINA_FALSE; + if (top->mouse.in) return EINA_TRUE; EINA_LIST_FOREACH(top->comp_data->sub.list, l, c)