Implement passive touch ungrabbing

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@canonical.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Chase Douglas 2012-03-29 18:06:03 -07:00 committed by Keith Packard
parent e9d3848d7b
commit 1110facdfe

View File

@ -290,13 +290,15 @@ ProcXIPassiveUngrabDevice(ClientPtr client)
if (stuff->grab_type != XIGrabtypeButton && if (stuff->grab_type != XIGrabtypeButton &&
stuff->grab_type != XIGrabtypeKeycode && stuff->grab_type != XIGrabtypeKeycode &&
stuff->grab_type != XIGrabtypeEnter && stuff->grab_type != XIGrabtypeEnter &&
stuff->grab_type != XIGrabtypeFocusIn) { stuff->grab_type != XIGrabtypeFocusIn &&
stuff->grab_type != XIGrabtypeTouchBegin) {
client->errorValue = stuff->grab_type; client->errorValue = stuff->grab_type;
return BadValue; return BadValue;
} }
if ((stuff->grab_type == XIGrabtypeEnter || 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; client->errorValue = stuff->detail;
return BadValue; return BadValue;
} }
@ -327,6 +329,9 @@ ProcXIPassiveUngrabDevice(ClientPtr client)
case XIGrabtypeFocusIn: case XIGrabtypeFocusIn:
tempGrab->type = XI_FocusIn; tempGrab->type = XI_FocusIn;
break; break;
case XIGrabtypeTouchBegin:
tempGrab->type = XI_TouchBegin;
break;
} }
tempGrab->grabtype = XI2; tempGrab->grabtype = XI2;
tempGrab->modifierDevice = mod_dev; tempGrab->modifierDevice = mod_dev;