xserver: Branch 'master'
Keith Packard
keithp at kemper.freedesktop.org
Mon Apr 12 21:39:28 PDT 2010
hw/xfree86/common/xf86Xinput.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
New commits:
commit adbbc661080ba4efdb764c154d40c4d2fe718e16
Author: Dan Nicholson <dbn.lists at gmail.com>
Date: Tue Feb 16 08:11:41 2010 -0800
xfree86: Fix priority ordering for ignoring input classes
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>
Reviewed-by: Keith Packard <keithp at keithp.com>
diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index 8229227..7723ba6 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -625,25 +625,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;
}
/**
More information about the xorg-commit
mailing list