1 Implement passive touch ungrabbing. (LP: #968726)
3 diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c
4 index d911702..89a285f 100644
5 --- a/Xi/xipassivegrab.c
6 +++ b/Xi/xipassivegrab.c
7 @@ -303,14 +303,16 @@ ProcXIPassiveUngrabDevice(ClientPtr client)
8 if (stuff->grab_type != XIGrabtypeButton &&
9 stuff->grab_type != XIGrabtypeKeycode &&
10 stuff->grab_type != XIGrabtypeEnter &&
11 - stuff->grab_type != XIGrabtypeFocusIn)
12 + stuff->grab_type != XIGrabtypeFocusIn &&
13 + stuff->grab_type != XIGrabtypeTouchBegin)
14 {
15 client->errorValue = stuff->grab_type;
16 return BadValue;
17 }
19 if ((stuff->grab_type == XIGrabtypeEnter ||
20 - stuff->grab_type == XIGrabtypeFocusIn) && stuff->detail != 0)
21 + stuff->grab_type == XIGrabtypeFocusIn ||
22 + stuff->grab_type == XIGrabtypeTouchBegin) && stuff->detail != 0)
23 {
24 client->errorValue = stuff->detail;
25 return BadValue;
26 @@ -336,6 +338,7 @@ ProcXIPassiveUngrabDevice(ClientPtr client)
27 case XIGrabtypeKeycode: tempGrab->type = XI_KeyPress; break;
28 case XIGrabtypeEnter: tempGrab->type = XI_Enter; break;
29 case XIGrabtypeFocusIn: tempGrab->type = XI_FocusIn; break;
30 + case XIGrabtypeTouchBegin: tempGrab->type = XI_TouchBegin; break;
31 }
32 tempGrab->grabtype = XI2;
33 tempGrab->modifierDevice = mod_dev;
34 --
35 1.7.9.1