On Wed, Apr 18, 2012 at 12:17:15PM -0700, Chase Douglas wrote: > The current code checks the core event mask as though it were an XI > mask. This change fixes the checks so the proper client and event masks > are used. > > Signed-off-by: Chase Douglas <[email protected]> > --- > dix/touch.c | 7 ++++--- > 1 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/dix/touch.c b/dix/touch.c > index 572bdfb..ecb2283 100644 > --- a/dix/touch.c > +++ b/dix/touch.c > @@ -811,6 +811,7 @@ TouchAddRegularListener(DeviceIntPtr dev, > TouchPointInfoPtr ti, > if (mask & EVENT_CORE_MASK) { > int coretype = GetCoreType(TouchGetPointerEventType(ev)); > Mask core_filter = event_get_filter_from_type(dev, coretype); > + OtherClients *oclients; > > /* window owner */ > if (IsMaster(dev) && (win->eventMask & core_filter)) { > @@ -822,13 +823,13 @@ TouchAddRegularListener(DeviceIntPtr dev, > TouchPointInfoPtr ti, > } > > /* all others */ > - nt_list_for_each_entry(iclients, (InputClients *) wOtherClients(win), > + nt_list_for_each_entry(oclients, (OtherClients *) wOtherClients(win),
you can skip the cast here, but otherwise Reviewed-by: Peter Hutterer <[email protected]> Cheers, Peter > next) { > - if (!(iclients->mask[XIAllDevices] & core_filter)) > + if (!(oclients->mask & core_filter)) > continue; > > TouchEventHistoryAllocate(ti); > - TouchAddListener(ti, iclients->resource, CORE, > + TouchAddListener(ti, oclients->resource, CORE, > type, LISTENER_AWAITING_BEGIN, win); > return TRUE; > } > -- > 1.7.9.1 > _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
