mirror of
https://github.com/brl/mutter.git
synced 2024-11-21 23:50:41 -05:00
c2d03bf73e
When clutter actors with key focus are destroyed we emit ::key-focus-out on them just after their destruction. This is against our assumption that no signal should be emitted after "::destroy" (see GNOME/mutter!769 [1]), and in fact could cause the shell to do actions that we won't ever stop on destroy callback. To avoid this to happen, use a private function to set its key-state (so we can avoid looking for the stage) and emit ::key-focus-in/out events and use this value in both clutter_actor_has_key_focus(), clutter_actor_grab_key_focus() and on unmap and destruction to unset the stage key focus before we emit the ::destroy signal. As result of this, we can now avoid to unset the key focus on actor destruction in the stage. [1] https://gitlab.gnome.org/GNOME/mutter/merge_requests/769 Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1704 |
||
---|---|---|
.. | ||
clutter | ||
.gitignore | ||
meson.build |