mirror of
https://github.com/brl/mutter.git
synced 2024-11-23 00:20:42 -05:00
c64803770e
There's a bunch of crashes right now where the assertions in clutter_actor_set_mapped() after calling the map/unmap() vfuncs are failing. The only way this can happen is by re-entering clutter_actor_set_mapped() during the map/unmap recursion. The reason for those crashes is that the shell hides/shows some actors in response to crossing events and key-focus changes. These in turn get triggered by the newly introduced ungrabbing of ClutterGrabs when an actor gets unmapped, which triggers GRAB_NOTIFY crossing events and key-focus changes. Since these situations are hardly avoidable (it's a valid use-case to hide/show something in response to a crossing/key-focus event), catch the set_mapped() call early while we reenter the mapping machinery and log a warning instead of crashing. Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3165 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2299> |
||
---|---|---|
.. | ||
clutter | ||
.gitignore | ||
meson.build |