[PATCH 2/5] Move AllowTouch to dix/touch.c
Peter Hutterer
peter.hutterer at who-t.net
Thu Feb 2 21:30:41 PST 2012
On Thu, Feb 02, 2012 at 04:57:55PM -0800, Chase Douglas wrote:
> From: Chase Douglas <chase.douglas at ubuntu.com>
>
> Signed-off-by: Chase Douglas <chase.douglas at canonical.com>
if it's in touch.c, it should be prefixed with "Touch", so TouchAllow. other
than that, Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> Xi/xiallowev.c | 41 -----------------------------------------
> dix/touch.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
> include/input.h | 2 ++
> 3 files changed, 47 insertions(+), 41 deletions(-)
>
> diff --git a/Xi/xiallowev.c b/Xi/xiallowev.c
> index a4b2f57..a722c1d 100644
> --- a/Xi/xiallowev.c
> +++ b/Xi/xiallowev.c
> @@ -57,47 +57,6 @@ SProcXIAllowEvents(ClientPtr client)
> return ProcXIAllowEvents(client);
> }
>
> -static int
> -AllowTouch(ClientPtr client, DeviceIntPtr dev, int mode, uint32_t touchid, XID *error)
> -{
> - TouchPointInfoPtr ti;
> - int nev, i;
> - InternalEvent *events = InitEventList(GetMaximumEventsNum());
> -
> - if (!events)
> - return BadAlloc;
> -
> - if (!dev->touch)
> - {
> - *error = dev->id;
> - return BadDevice;
> - }
> -
> - /* FIXME window is unhandled */
> -
> - ti = TouchFindByClientID(dev, touchid);
> - if (!ti)
> - {
> - *error = touchid;
> - return BadValue;
> - }
> -
> - /* FIXME: Allow for early accept */
> - if (ti->num_listeners == 0 || CLIENT_ID(ti->listeners[0].listener) != client->index)
> - return BadAccess;
> -
> - nev = GetTouchOwnershipEvents(events, dev, ti, mode, ti->listeners[0].listener, 0);
> - if (nev == 0)
> - return BadAlloc;
> - for (i = 0; i < nev; i++)
> - mieqProcessDeviceEvent(dev, events + i, NULL);
> -
> - ProcessInputEvents();
> -
> - FreeEventList(events, GetMaximumEventsNum());
> - return Success;
> -}
> -
> int
> ProcXIAllowEvents(ClientPtr client)
> {
> diff --git a/dix/touch.c b/dix/touch.c
> index b42859d..6113371 100644
> --- a/dix/touch.c
> +++ b/dix/touch.c
> @@ -34,6 +34,7 @@
>
> #include "eventstr.h"
> #include "exevents.h"
> +#include "exglobals.h"
> #include "inpututils.h"
> #include "eventconvert.h"
> #include "windowstr.h"
> @@ -984,3 +985,47 @@ TouchListenerGone(XID resource)
>
> FreeEventList(events, GetMaximumEventsNum());
> }
> +
> +int
> +AllowTouch(ClientPtr client, DeviceIntPtr dev, int mode, uint32_t touchid,
> + XID *error)
> +{
> + TouchPointInfoPtr ti;
> + int nev, i;
> + InternalEvent *events = InitEventList(GetMaximumEventsNum());
> +
> + if (!events)
> + return BadAlloc;
> +
> + if (!dev->touch)
> + {
> + *error = dev->id;
> + return BadDevice;
> + }
> +
> + /* FIXME window is unhandled */
> +
> + ti = TouchFindByClientID(dev, touchid);
> + if (!ti)
> + {
> + *error = touchid;
> + return BadValue;
> + }
> +
> + /* FIXME: Allow for early accept */
> + if (ti->num_listeners == 0 ||
> + CLIENT_ID(ti->listeners[0].listener) != client->index)
> + return BadAccess;
> +
> + nev = GetTouchOwnershipEvents(events, dev, ti, mode,
> + ti->listeners[0].listener, 0);
> + if (nev == 0)
> + return BadAlloc;
> + for (i = 0; i < nev; i++)
> + mieqProcessDeviceEvent(dev, events + i, NULL);
> +
> + ProcessInputEvents();
> +
> + FreeEventList(events, GetMaximumEventsNum());
> + return Success;
> +}
> diff --git a/include/input.h b/include/input.h
> index 53645b4..9ec4dd1 100644
> --- a/include/input.h
> +++ b/include/input.h
> @@ -625,6 +625,8 @@ extern int TouchConvertToPointerEvent(const InternalEvent *ev,
> extern int TouchGetPointerEventType(const InternalEvent *ev);
> extern void TouchRemovePointerGrab(DeviceIntPtr dev);
> extern void TouchListenerGone(XID resource);
> +extern int AllowTouch(ClientPtr client, DeviceIntPtr dev, int mode,
> + uint32_t touchid, XID *error);
>
> /* misc event helpers */
> extern Mask GetEventMask(DeviceIntPtr dev, xEvent* ev, InputClientsPtr clients);
> --
> 1.7.8.3
>
More information about the xorg-devel
mailing list