calendar: Unbind settings when destroying

Running dispose on the setting causes issues when we're being destroyed,
as the signal handler in the GSettings binding will be cleared by the
GObject itself before it has the chance, resulting in warnings.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>
(cherry picked from commit fa47a7576d)
This commit is contained in:
Jonas Ådahl 2022-08-17 15:53:45 +02:00 committed by Florian Müllner
parent c1aa9ec466
commit d509c5a5c8

View file

@ -908,7 +908,7 @@ class DoNotDisturbSwitch extends PopupMenu.Switch {
Gio.SettingsBindFlags.INVERT_BOOLEAN);
this.connect('destroy', () => {
this._settings.run_dispose();
Gio.Settings.unbind(this, 'state');
this._settings = null;
});
}