[gnome-shell/wip/gestures: 4/10] backgroundMenu: release the click gesture if a grab operation begun



commit 624314ee3ee4b890678bf4e8b805de93dec53d06
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Jun 25 17:53:37 2014 +0200

    backgroundMenu: release the click gesture if a grab operation begun
    
    If an active grab on pointer events happens during multi-touch operations,
    all non-pointer-emulating touches will be muted. This may leave the
    Clutter.ClickAction incomplete if triggered by one of those sequences,
    just to have a gesture take over and trigger a compositor grab, which would
    leave the capture-event handler stuck eating events.
    
    So listen for grab-op-begin from the display, and ensure the action is
    released if such grab begins.
    and the capture event handler stuck.

 js/ui/backgroundMenu.js |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/js/ui/backgroundMenu.js b/js/ui/backgroundMenu.js
index b3dec1c..95c0097 100644
--- a/js/ui/backgroundMenu.js
+++ b/js/ui/backgroundMenu.js
@@ -55,6 +55,10 @@ function addBackgroundMenu(actor, layoutManager) {
     });
     actor.add_action(clickAction);
 
+    global.display.connect('grab-op-begin', function () {
+        clickAction.release();
+    });
+
     actor.connect('destroy', function() {
         actor._backgroundMenu.destroy();
         actor._backgroundMenu = null;


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