summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-04-12 16:19:45 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-04-19 22:28:08 +1000
commit09f9a86077f0058ce88ee9b3df5d1ab854eeca43 (patch)
treeb5a4f3e2fa69551c53fbedda8ce315af12ac80d7 /include
parent7fbe1b7d63c94b344e8ff9d09c0bb162ca104909 (diff)
input: replace GrabRec's coreGrab field with grabtype.
Don't allow grabs of different types to override each other. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'include')
-rw-r--r--include/dix.h2
-rw-r--r--include/dixgrabs.h1
-rw-r--r--include/inputstr.h8
3 files changed, 9 insertions, 2 deletions
diff --git a/include/dix.h b/include/dix.h
index 14d6843e3..8da218936 100644
--- a/include/dix.h
+++ b/include/dix.h
@@ -434,7 +434,7 @@ extern int GrabDevice(
unsigned /* ownerEvents */,
Time /* ctime */,
Mask /* mask */,
- Bool /* coreGrab */,
+ int /* grabtype */,
Cursor /* curs */,
Window /* confineToWin */,
CARD8 * /* status */);
diff --git a/include/dixgrabs.h b/include/dixgrabs.h
index 36ab2b9d7..512723986 100644
--- a/include/dixgrabs.h
+++ b/include/dixgrabs.h
@@ -37,6 +37,7 @@ extern _X_EXPORT GrabPtr CreateGrab(
DeviceIntPtr /* modDevice */,
unsigned short /* modifiers */,
int /* type */,
+ int /* grabtype */,
KeyCode /* keybut */,
WindowPtr /* confineTo */,
CursorPtr /* cursor */);
diff --git a/include/inputstr.h b/include/inputstr.h
index 14941b106..7d666c15d 100644
--- a/include/inputstr.h
+++ b/include/inputstr.h
@@ -150,6 +150,12 @@ typedef struct _DetailRec { /* Grab details may be bit masks */
Mask *pMask;
} DetailRec;
+typedef enum {
+ GRABTYPE_CORE,
+ GRABTYPE_XI,
+ GRABTYPE_XI2
+} GrabType;
+
/**
* Central struct for device grabs.
* The same struct is used for both core grabs and device grabs, with
@@ -171,7 +177,7 @@ typedef struct _GrabRec {
unsigned ownerEvents:1;
unsigned keyboardMode:1;
unsigned pointerMode:1;
- unsigned coreGrab:1; /* grab is on core device */
+ GrabType grabtype;
CARD8 type; /* event type */
DetailRec modifiersDetail;
DeviceIntPtr modifierDevice;