On Thu, Feb 02, 2012 at 04:57:57PM -0800, Chase Douglas wrote:
> From: Chase Douglas <[email protected]>
> 
> Signed-off-by: Chase Douglas <[email protected]>
> ---
>  dix/touch.c |    9 ++++++++-
>  1 files changed, 8 insertions(+), 1 deletions(-)
> 
> diff --git a/dix/touch.c b/dix/touch.c
> index e24d9ac..1faeb7c 100644
> --- a/dix/touch.c
> +++ b/dix/touch.c
> @@ -1019,9 +1019,16 @@ AllowTouch(ClientPtr client, DeviceIntPtr dev, int 
> mode, uint32_t touchid,
>      if (i < ti->num_listeners)
>          return BadAccess;
>  
> -    /* FIXME: Implement early accept/reject */
>      if (i > 0)
> +    {
> +        if (mode == XIRejectTouch)
> +        {
> +            TouchRemoveListener(ti, ti->listeners[i].listener);
> +            return Success;

We need to send a TouchEnd to the listener before we remove it.

Cheers,
  Peter

> +        }
> +        /* FIXME: Implement early accept */
>          return BadAccess;
> +    }
>  
>      nev = GetTouchOwnershipEvents(events, dev, ti, mode,
>                                    ti->listeners[0].listener, 0);
> -- 
> 1.7.8.3
> 
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to