[PATCH][master][1.12] Implement passive touch ungrabbing

Chase Douglas chase.douglas at canonical.com
Thu Mar 29 18:06:03 PDT 2012


Whoops. Forgot to implement this. The code currently generates an error
due to the unhandled grab type.

X.Org Bug 48069 <https://bugs.freedesktop.org/show_bug.cgi?id=48069>

Signed-off-by: Chase Douglas <chase.douglas at canonical.com>
---
 Xi/xipassivegrab.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c
index 8a1c599..7130328 100644
--- a/Xi/xipassivegrab.c
+++ b/Xi/xipassivegrab.c
@@ -290,13 +290,15 @@ ProcXIPassiveUngrabDevice(ClientPtr client)
     if (stuff->grab_type != XIGrabtypeButton &&
         stuff->grab_type != XIGrabtypeKeycode &&
         stuff->grab_type != XIGrabtypeEnter &&
-        stuff->grab_type != XIGrabtypeFocusIn) {
+        stuff->grab_type != XIGrabtypeFocusIn &&
+        stuff->grab_type != XIGrabtypeTouchBegin) {
         client->errorValue = stuff->grab_type;
         return BadValue;
     }
 
     if ((stuff->grab_type == XIGrabtypeEnter ||
-         stuff->grab_type == XIGrabtypeFocusIn) && stuff->detail != 0) {
+         stuff->grab_type == XIGrabtypeFocusIn ||
+         stuff->grab_type == XIGrabtypeTouchBegin) && stuff->detail != 0) {
         client->errorValue = stuff->detail;
         return BadValue;
     }
@@ -327,6 +329,9 @@ ProcXIPassiveUngrabDevice(ClientPtr client)
     case XIGrabtypeFocusIn:
         tempGrab->type = XI_FocusIn;
         break;
+    case XIGrabtypeTouchBegin:
+        tempGrab->type = XI_TouchBegin;
+        break;
     }
     tempGrab->grabtype = XI2;
     tempGrab->modifierDevice = mod_dev;
-- 
1.7.9.1



More information about the xorg-devel mailing list