
The 'destroy' signal currently doesn't work with connectObject(), because the handler is only connected after the signal tracker's own destroy handler, which disconnects all handlers. Address this by using connect_after for the cleanup handler, so that other destroy handlers run before it (unless they also use ConnectFlags.AFTER, but well *shrug*). Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2221>