[gnome-shell/wip/exalm/gestures: 30/30] tmp: Throttle SwipeTracker updates



commit e88149e65ecd460f7447790d110c97055bf0c117
Author: Alexander Mikhaylenko <exalm7659 gmail com>
Date:   Mon Jul 8 14:31:07 2019 +0500

    tmp: Throttle SwipeTracker updates
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/605

 js/ui/swipeTracker.js | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/swipeTracker.js b/js/ui/swipeTracker.js
index 026b7bc13..7fd312d31 100644
--- a/js/ui/swipeTracker.js
+++ b/js/ui/swipeTracker.js
@@ -262,6 +262,8 @@ var SwipeTracker = class {
             this._scrollGesture.connect('end', this._endGesture.bind(this));
         } else
             this._scrollGesture = null;
+
+        this._prevUpdate = 0;
     }
 
     get enabled() {
@@ -350,7 +352,12 @@ var SwipeTracker = class {
         this._progress = clamp(this._progress, firstPoint, lastPoint);
         this._progress = clamp(this._progress, this._initialProgress - 1, this._initialProgress + 1);
 
-        this.emit('update', this._progress);
+        if (this._prevUpdate != 0)
+            Meta.later_remove(this._prevUpdate);
+        this._prevUpdate = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
+            this.emit('update', this._progress);
+            this._prevUpdate = 0;
+        });
 
         this._prevTime = time;
     }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]