From aa9edc37a57e5267237c7c998d035eb2042e43eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Mon, 7 Mar 2022 15:34:25 +0100 Subject: [PATCH] workspaceAnimation: Get time outside of the animation-complete callback We want to use the current event time for activating the workspace, and this time is only available when calling global.get_current_time() or Clutter.get_current_event_time() from the context of an event handler. So instead of trying to get that time when the animation has finished from the onComplete() handler, get it before and store it as a variable to use in the onComplete() handler later. This fixes an error message when switching workspaces using the swipe gesture where MetaWorkspace complains about the 0-timestamp we pass it. Part-of: --- js/ui/workspaceAnimation.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/js/ui/workspaceAnimation.js b/js/ui/workspaceAnimation.js index b807f3577..432044f75 100644 --- a/js/ui/workspaceAnimation.js +++ b/js/ui/workspaceAnimation.js @@ -450,6 +450,7 @@ var WorkspaceAnimationController = class { switchData.gestureActivated = true; const newWs = switchData.baseMonitorGroup.findClosestWorkspace(endProgress); + const endTime = Clutter.get_current_event_time(); for (const monitorGroup of this._switchData.monitors) { const progress = monitorGroup.getWorkspaceProgress(newWs); @@ -462,7 +463,7 @@ var WorkspaceAnimationController = class { if (monitorGroup.index === Main.layoutManager.primaryIndex) { params.onComplete = () => { if (!newWs.active) - newWs.activate(global.get_current_time()); + newWs.activate(endTime); this._finishWorkspaceSwitch(switchData); }; }