[PATCH 07/12] dix: add AllocGrab helper function

Peter Hutterer peter.hutterer at who-t.net
Mon Nov 7 13:39:11 PST 2011


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 at who-t.net>
---
 dix/grabs.c        |   12 ++++++++++--
 include/dixgrabs.h |    3 +++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/dix/grabs.c b/dix/grabs.c
index c28356d..3b07186 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 229c8bb..2ed8a54 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 */,
-- 
1.7.7



More information about the xorg-devel mailing list