gnome-shell/js
Sebastian Keller 4bbf6d497d windowPreview: Ignore leave events after being destroyed
When a WindowPreview is being destroyed, the class default handler for
the `destroy` signal is responsible for destroying its child actors.
This happens after the emission of the `destroy` signal, i.e. after
`WindowPreview::_onDestroy()` has been run.

The destruction of the WindowPreview's child actors now triggers a
re-pick, but due to WindowPreview having already being marked as
`CLUTTER_IN_DESTRUCTION`, it will not be picked, resulting in a `leave`
event if the cursor was on top of the WindowPreview at the time
`destroy()` was called on it.

So this leads to `WindowPreview::vfunc_leave_event()` being run after
`WindowPreview::_onDestroy()`, which means the idle started by the leave
event handler will not be removed and ends up accessing actors after
they have already been destroyed.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5512
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6065
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2738>
2023-04-18 19:44:20 +00:00
..
dbusServices screencastService: Handle case where no videos directory exists 2023-01-11 16:51:30 +00:00
gdm authPrompt: Also replace full-width colon 2023-02-13 20:32:21 +00:00
misc misc/objectManager: Fix emission of object-removed signal 2023-04-05 18:43:51 +00:00
perf Add 'headless start' perf test 2023-02-06 18:10:01 +00:00
portalHelper portalHelper: Switch to soup3-based WebKitGTK 2022-06-21 19:29:02 +00:00
ui windowPreview: Ignore leave events after being destroyed 2023-04-18 19:44:20 +00:00
js-resources.gresource.xml quickSettings: Add background apps menu 2023-02-12 16:16:36 +00:00
meson.build extensions-app: Move Extensions app to new subproject 2020-03-27 23:33:30 +00:00
portal-resources.gresource.xml js/portal-resources: Add missing fileUtils to js path 2022-11-03 18:02:27 +00:00