summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2016-11-30 14:40:11 -0600
committerDerek Foreman <derekf@osg.samsung.com>2016-11-30 14:48:54 -0600
commit8245c1eb7a38a177ba2ff536949b34c00288e18c (patch)
treec3141151a458260a8ded24a5ea310db4eb4cc21a
parentca5176e6fa13c22d29629a1d9fc2b788b928643a (diff)
downloadenlightenment-8245c1eb7a38a177ba2ff536949b34c00288e18c.tar.gz
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.
-rw-r--r--src/bin/e_comp_wl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 4fc66f61d0..e1691ce8aa 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)