Imported Debian patch 2:1.11.4-0ubuntu8
[glsdk/xserver.git] / debian / patches / 504_implement_passive_touch_ungrab.patch
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      }
18  
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