[PATCH 1/3][master][1.12] Don't attempt to add non-master core touch pointer emulation listeners

Peter Hutterer peter.hutterer at who-t.net
Thu Apr 12 22:38:42 PDT 2012


On Wed, Apr 04, 2012 at 01:48:09PM -0700, Chase Douglas wrote:
> Core events aren't generated for slave devices, so this is just wrong.
> On top of that, the mask being checked in the removed hunk is wrong as
> well. It is dereferencing a pointer of type OtherClients as though it
> were a pointer to type InputClients.
>
> Signed-off-by: Chase Douglas <chase.douglas at canonical.com>
> ---
>  dix/touch.c |   12 ------------
>  1 files changed, 0 insertions(+), 12 deletions(-)
> 
> diff --git a/dix/touch.c b/dix/touch.c
> index 0829b65..fcec916 100644
> --- a/dix/touch.c
> +++ b/dix/touch.c
> @@ -830,18 +830,6 @@ TouchAddRegularListener(DeviceIntPtr dev, TouchPointInfoPtr ti,
>                               win);
>              return TRUE;
>          }
> -
> -        /* all others */
> -        nt_list_for_each_entry(iclients, (InputClients *) wOtherClients(win),
> -                               next) {
> -            if (!(iclients->mask[XIAllDevices] & core_filter))
> -                continue;
> -
> -            TouchEventHistoryAllocate(ti);
> -            TouchAddListener(ti, iclients->resource, CORE,
> -                             type, LISTENER_AWAITING_BEGIN, win);
> -            return TRUE;
> -        }
>      }
>  
>      return FALSE;
> -- 
> 1.7.9.1

wouldn't you have to check for IsMaster() somewhere?
iirc, this code is called for slave and master devices, but then again my
brain is a bit mushy by now.

ack to the other two.

Cheers,
  Peter


More information about the xorg-devel mailing list