diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2016-11-30 14:40:11 -0600 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2016-11-30 14:48:54 -0600 |
commit | 8245c1eb7a38a177ba2ff536949b34c00288e18c (patch) | |
tree | c3141151a458260a8ded24a5ea310db4eb4cc21a | |
parent | ca5176e6fa13c22d29629a1d9fc2b788b928643a (diff) | |
download | enlightenment-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.c | 2 |
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) |