[PATCH 1/2] xfree86: Fix priority ordering for ignoring input classes

Peter Hutterer peter.hutterer at who-t.net
Wed Feb 17 17:14:14 PST 2010


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 <dbn.lists at gmail.com>
> ---
>  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 <peter.hutterer at who-t.net>


More information about the xorg-devel mailing list