forked from enlightenment/enlightenment
Don't send keyboard leaves to unmapped wayland surfaces
There are actually toolkits that create surfaces, do nothing with them, and destroy them. Sending keyboard leave events for this causes problems. Fixes a bug in handling of some GTK popups.
This commit is contained in:
parent
1f44a593c2
commit
ada8e2deac
|
@ -2382,7 +2382,12 @@ _e_comp_wl_client_cb_del(void *data EINA_UNUSED, E_Client *ec)
|
|||
ec->parent->lock_close = EINA_FALSE;
|
||||
ec->parent->modal = NULL;
|
||||
}
|
||||
_e_comp_wl_keyboard_leave(ec);
|
||||
|
||||
/* 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);
|
||||
|
||||
wl_signal_emit(&ec->comp_data->destroy_signal, &ec->comp_data->surface);
|
||||
|
||||
|
|
Loading…
Reference in New Issue