workspace: Fix an incorrect signal check
While commit 3094f863
was intended to cancel the ongoing idle hide
timeout before we start a new one, a mistake slipped in there while
rebasing: Obviously we should check if the signal id is NOT 0 here.
This didn't prevent timeouts being started while old ones are still
running and did override `this._idleHideOverlayId`, which caused the old
timeouts to run indefinitely after an overlay actor was destroyed
because we fail early (and don't return TRUE) in `_idleHideOverlay()`.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/735
This commit is contained in:
parent
f8e648b7e3
commit
48adb2ef4b
@ -684,7 +684,7 @@ var WindowOverlay = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_onHideChrome() {
|
_onHideChrome() {
|
||||||
if (this._idleHideOverlayId == 0)
|
if (this._idleHideOverlayId > 0)
|
||||||
GLib.source_remove(this._idleHideOverlayId);
|
GLib.source_remove(this._idleHideOverlayId);
|
||||||
|
|
||||||
this._idleHideOverlayId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, WINDOW_OVERLAY_IDLE_HIDE_TIMEOUT, this._idleHideOverlay.bind(this));
|
this._idleHideOverlayId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, WINDOW_OVERLAY_IDLE_HIDE_TIMEOUT, this._idleHideOverlay.bind(this));
|
||||||
|
Loading…
Reference in New Issue
Block a user