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 <pwithnall@gnome.org>

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8280
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3687>
This commit is contained in:
Philip Withnall 2025-04-02 12:32:40 +01:00 committed by Bruce Leidl
parent a8fcf42197
commit 0547e35224

View File

@ -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;
}