summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-10-13 13:15:05 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-10-14 09:52:00 +1000
commite116bebb1324c5cdb806a70683ca747321c536b0 (patch)
treedda80758aeaa39495d3170b3b4cdea4cc821ca51
parentf6cb78e476132b201334655f0015a2c727434fbf (diff)
dix: extend IsPointerDevice check to valuator-only devices.
A device with valuators but no keys is definitely a pointer device and needs to be attached to the VCP. Otherwise, the class copying happens on the VCK and the VCP isn't updated with the events that are to be sent through it. This addresses the trigger for #24441, not the actual issue. Jury is still out on valuator+key devices. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit 72f5874434c0c015b671c492c1318f35f1793668)
-rw-r--r--dix/events.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/dix/events.c b/dix/events.c
index d60b8a534..8f63d3381 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -345,7 +345,9 @@ DevHasCursor(DeviceIntPtr pDev)
Bool
IsPointerDevice(DeviceIntPtr dev)
{
- return (dev->type == MASTER_POINTER) || (dev->valuator && dev->button);
+ return (dev->type == MASTER_POINTER) ||
+ (dev->valuator && dev->button) ||
+ (dev->valuator && !dev->key);
}
/*