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