On Wed, Feb 17, 2010 at 06:14:07AM -0800, Dan Nicholson wrote: > Commit 8736d112afb0dd61dfdaadd6378eafd200b2ef5f changed the priority > ordering of the InputClass option merging to be "last match wins". This > fixes the handling of Option "Ignore" to follow that logic. > > Signed-off-by: Dan Nicholson <[email protected]> > --- > hw/xfree86/common/xf86Xinput.c | 20 ++++++++++++-------- > 1 files changed, 12 insertions(+), 8 deletions(-) > > diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c > index e9f7f2f..019430c 100644 > --- a/hw/xfree86/common/xf86Xinput.c > +++ b/hw/xfree86/common/xf86Xinput.c > @@ -623,26 +623,30 @@ MergeInputClasses(IDevPtr idev, InputAttributes *attrs) > > return Success; > } > - > +/* > + * Iterate the list of classes and look for Option "Ignore". Return the > + * value of the last matching class and holler when returning TRUE. > + */ > static Bool > IgnoreInputClass(IDevPtr idev, InputAttributes *attrs) > { > XF86ConfInputClassPtr cl; > - Bool ignore; > + Bool ignore = FALSE; > + const char *ignore_class; > > for (cl = xf86configptr->conf_inputclass_lst; cl; cl = cl->list.next) { > if (!InputClassMatches(cl, attrs)) > continue; > if (xf86findOption(cl->option_lst, "Ignore")) { > ignore = xf86CheckBoolOption(cl->option_lst, "Ignore", FALSE); > - if (ignore) > - xf86Msg(X_CONFIG, > - "%s: Ignoring device from InputClass \"%s\"\n", > - idev->identifier, cl->identifier); > - return ignore; > + ignore_class = cl->identifier; > } > } > - return FALSE; > + > + if (ignore) > + xf86Msg(X_CONFIG, "%s: Ignoring device from InputClass \"%s\"\n", > + idev->identifier, ignore_class); > + return ignore; > } > > /** > -- > 1.6.6
Reviewed-by: Peter Hutterer <[email protected]> _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
