This will not only disconnect the signal handler, but also remove any bindings. This works around a crash that happens if a setting that triggers the binding changes at the same time as a setting that rebuilds the window list; in that case, the binding handler runs after gjs has dropped its wrapper object, but before the binding is removed automaticalled when the object is finalized. https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/416 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/243>