extensions-app: Explicitly dispose window when removed
Unlike in previous GTK version (or Clutter), destroy() no longer breaks reference cycles but just releases the reference held by GTK itself. So any reference we hold - either the explicit property or any signal handlers that bind the window as `this` - prevents the window from being disposed when closed, and the application won't quit. Work around this by explicitly running dispose() on the window when it is removed from the application. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1495>
This commit is contained in:
parent
3af90918a3
commit
1bb0e1b9fc
@ -42,6 +42,8 @@ class Application extends Gtk.Application {
|
|||||||
_init() {
|
_init() {
|
||||||
GLib.set_prgname('gnome-extensions-app');
|
GLib.set_prgname('gnome-extensions-app');
|
||||||
super._init({ application_id: 'org.gnome.Extensions' });
|
super._init({ application_id: 'org.gnome.Extensions' });
|
||||||
|
|
||||||
|
this.connect('window-removed', (a, window) => window.run_dispose());
|
||||||
}
|
}
|
||||||
|
|
||||||
get shellProxy() {
|
get shellProxy() {
|
||||||
|
Loading…
Reference in New Issue
Block a user