[gnome-shell] screenshot: Ignore events in SelectArea after making a selection



commit 380d61dc431376833546380c8089ff4bdcdd3fce
Author: Sebastian Keller <skeller gnome org>
Date:   Wed Apr 28 07:15:03 2021 +0200

    screenshot: Ignore events in SelectArea after making a selection
    
    The grab and actor are only removed after the selection rectangle has
    finished fading out. During this time it was possible to still change
    the position of the selection rectangle.
    
    Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2761
    Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1825>

 js/ui/screenshot.js | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js
index e736c3f6c7..81ab516b17 100644
--- a/js/ui/screenshot.js
+++ b/js/ui/screenshot.js
@@ -384,6 +384,9 @@ class SelectArea extends St.Widget {
     }
 
     vfunc_button_press_event(buttonEvent) {
+        if (this._result)
+            return Clutter.EVENT_PROPAGATE;
+
         [this._startX, this._startY] = [buttonEvent.x, buttonEvent.y];
         this._startX = Math.floor(this._startX);
         this._startY = Math.floor(this._startY);
@@ -393,7 +396,7 @@ class SelectArea extends St.Widget {
     }
 
     vfunc_button_release_event() {
-        if (this._startX === -1 || this._startY === -1)
+        if (this._startX === -1 || this._startY === -1 || this._result)
             return Clutter.EVENT_PROPAGATE;
 
         this._result = this._getGeometry();


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