derekf pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=c5282454698a947e00428642f0bb2ba8348b366b

commit c5282454698a947e00428642f0bb2ba8348b366b
Author: Derek Foreman <der...@osg.samsung.com>
Date:   Fri Aug 26 12:05:58 2016 -0500

    Don't send keyboard leave events to unfocused clients
    
    This fixes a problem when focus moves between two xwayland clients.
    
    My testing of gtk applications shows no regressions, bug if xdg_shell
    popups start behaving oddly again, look here first.
---
 src/bin/e_comp_wl.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 7e982ed..010caa9 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2448,11 +2448,7 @@ _e_comp_wl_client_cb_del(void *data EINA_UNUSED, 
E_Client *ec)
         ec->parent->modal = NULL;
      }
 
-   /* FIXME: We should probably test if ec really has keyboard
-    * focus, but this at least catches GTK's silly habit of creating
-    * a surface, never attaching anything to it, then deleting it.
-    */
-   if (ec->visible)_e_comp_wl_keyboard_leave(ec);
+   if ((ec == e_client_focused_get()) && ec->visible) 
_e_comp_wl_keyboard_leave(ec);
 
    wl_signal_emit(&ec->comp_data->destroy_signal, &ec->comp_data->surface);
 

-- 


Reply via email to