summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2018-01-15 15:36:44 +0100
committerFlorian Müllner <fmuellner@gnome.org>2018-03-02 22:33:32 +0100
commitef484135b5f4f75372f8dae7ed6d05a5446b5928 (patch)
tree8e15da77aab1f9a7bb2b2e2770234d5b3efd1c25
parent81dfcb85caeb9e9dd7d3d22c40e037f48844b9b7 (diff)
downloadgnome-shell-wip/fmuellner/delorian-overview.tar.gz
overview: Use monotonic time to check for consecutive activationswip/fmuellner/delorian-overview
We don't toggle the overview if the request happens too close to the last activation, to filter out double-clicks or activation by both the hot corner and a click. However as the check is based on the real time, the check breaks if the system clock moves backwards and the last activations appears to be in the future. Fix this by using monotonic time which is guaranteed to only move forward. https://bugzilla.gnome.org/show_bug.cgi?id=763886
-rw-r--r--js/ui/overview.js5
1 files changed, 3 insertions, 2 deletions
diff --git a/js/ui/overview.js b/js/ui/overview.js
index 3d8d76b57..224057640 100644
--- a/js/ui/overview.js
+++ b/js/ui/overview.js
@@ -488,7 +488,8 @@ var Overview = new Lang.Class({
return false;
if (this._inItemDrag || this._inWindowDrag)
return false;
- if (this._activationTime == 0 || Date.now() / 1000 - this._activationTime > OVERVIEW_ACTIVATION_TIMEOUT)
+ if (this._activationTime == 0 ||
+ GLib.get_monotonic_time() / GLib.USEC_PER_SEC - this._activationTime > OVERVIEW_ACTIVATION_TIMEOUT)
return true;
return false;
},
@@ -547,7 +548,7 @@ var Overview = new Lang.Class({
this.visible = true;
this.animationInProgress = true;
this.visibleTarget = true;
- this._activationTime = Date.now() / 1000;
+ this._activationTime = GLib.get_monotonic_time() / GLib.USEC_PER_SEC;
Meta.disable_unredirect_for_screen(global.screen);
this.viewSelector.show();