From 0547e3522496e5049700cab7e4c1682b06f2f76b Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Wed, 2 Apr 2025 12:32:40 +0100 Subject: [PATCH] breakManager: Update manager state after settings change The change of settings may have affected when a break is due. In particular, `this._breakLastEnd` is modified in `_updateSettings()`, but `this._state` is not modified correspondingly to transition to/from a `BREAK_DUE` state (if appropriate). This could be the cause of the `breakDueAgo should be non-negative` assertion failure from #8280. Signed-off-by: Philip Withnall Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8280 Part-of: --- js/misc/breakManager.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/js/misc/breakManager.js b/js/misc/breakManager.js index 4374af2d5..06c88e06a 100644 --- a/js/misc/breakManager.js +++ b/js/misc/breakManager.js @@ -180,10 +180,15 @@ export const BreakManager = GObject.registerClass({ } } + this.freeze_notify(); this.notify('next-break-due-time'); if (this._state === BreakState.DISABLED) this._startStateMachine(); + else + this._updateState(currentTime); + + this.thaw_notify(); return true; }