From 32bc064d10eee834924f074a914c7b155f9c79d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 18 May 2020 18:44:57 +0200 Subject: [PATCH] calendar: Fix initial do-not-disturb state The do-not-disturb button and the contained switch are tied together via a bidirectional property binding. However it still matters which objects are used as source and target, as that will determine the initial state: Right now the (unchecked) button is used as source, which means that do-not-disturb is turned off on startup. We want the state to be preserved, so swap source and target to let the switch (that is bound to the underlying GSetting) control the initial state. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2804 --- js/ui/calendar.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/ui/calendar.js b/js/ui/calendar.js index 1a25dde256..35308c3597 100644 --- a/js/ui/calendar.js +++ b/js/ui/calendar.js @@ -1199,8 +1199,8 @@ class CalendarMessageList extends St.Widget { child: this._dndSwitch, label_actor: dndLabel, }); - this._dndButton.bind_property('checked', - this._dndSwitch, 'state', + this._dndSwitch.bind_property('state', + this._dndButton, 'checked', GObject.BindingFlags.BIDIRECTIONAL | GObject.BindingFlags.SYNC_CREATE); hbox.add_child(this._dndButton); -- GitLab