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

walter harms wharms at bfs.de
Tue Nov 8 00:30:33 PST 2011



Am 07.11.2011 22:39, schrieb Peter Hutterer:
> 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;
> +}
> +


nit picking but ...

any reason not to use return calloc(1, sizeof(GrabRec)); ?
(as patch 5 does ?)

re,
 wh


> +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 */,


More information about the xorg-devel mailing list