summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2011-11-03 16:12:09 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2011-12-09 14:56:23 +1000
commit347f377f3b3f8c9d230d6309ec8ae92aa86d78b7 (patch)
treefbae883464fb3a5e1718ec8db4db575a124ae75c
parent7af23259d88f4c28ed21140f82cc03b3724c06bb (diff)
dix: add AllocGrab helper function
Not needed since the GrabRec is a self-contained struct but will be needed for the xi2 input mask rework. FreeGrab already exists, make it available to other callers. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
-rw-r--r--dix/grabs.c12
-rw-r--r--include/dixgrabs.h3
2 files changed, 13 insertions, 2 deletions
diff --git a/dix/grabs.c b/dix/grabs.c
index c28356d9b..3b07186ea 100644
--- a/dix/grabs.c
+++ b/dix/grabs.c
@@ -181,6 +181,14 @@ UngrabAllDevices(Bool kill_client)
}
GrabPtr
+AllocGrab(void)
+{
+ GrabPtr grab = calloc(1, sizeof(GrabRec));
+
+ return grab;
+}
+
+GrabPtr
CreateGrab(
int client,
DeviceIntPtr device,
@@ -196,7 +204,7 @@ CreateGrab(
{
GrabPtr grab;
- grab = calloc(1, sizeof(GrabRec));
+ grab = AllocGrab();
if (!grab)
return (GrabPtr)NULL;
grab->resource = FakeClientID(client);
@@ -226,7 +234,7 @@ CreateGrab(
}
-static void
+void
FreeGrab(GrabPtr pGrab)
{
free(pGrab->modifiersDetail.pMask);
diff --git a/include/dixgrabs.h b/include/dixgrabs.h
index 229c8bb53..2ed8a54b4 100644
--- a/include/dixgrabs.h
+++ b/include/dixgrabs.h
@@ -31,6 +31,9 @@ struct _GrabParameters;
extern void PrintDeviceGrabInfo(DeviceIntPtr dev);
extern void UngrabAllDevices(Bool kill_client);
+extern GrabPtr AllocGrab(void);
+extern void FreeGrab(GrabPtr grab);
+
extern GrabPtr CreateGrab(
int /* client */,
DeviceIntPtr /* device */,