diff options
author | Magnus Vigerlöf <Magnus.Vigerlof@ipbo.se> | 2008-02-02 22:44:31 +0100 |
---|---|---|
committer | Magnus Vigerlöf <Magnus.Vigerlof@ipbo.se> | 2008-02-05 21:12:52 +0100 |
commit | 12e532403210c15a25200ef448bfe9701735ab20 (patch) | |
tree | 7fca437629d94b6a734918f442eefb11d58b1103 | |
parent | 41991fb991313202e8e6b513fe928ba14f8fcb87 (diff) |
dix: Always add valuator information if present
Send valuator information for all event types, not only for
MotionEvents and absolute button events.
-rw-r--r-- | dix/getevents.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/dix/getevents.c b/dix/getevents.c index 12cb950b2..94cbd1553 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -522,15 +522,12 @@ _X_EXPORT int GetPointerEvents(xEvent *events, DeviceIntPtr pDev, int type, int buttons, int flags, int first_valuator, int num_valuators, int *valuators) { int num_events = 0, final_valuator = 0; CARD32 ms = 0; deviceKeyButtonPointer *kbp = NULL; - /* Thanks to a broken lib, we _always_ have to chase DeviceMotionNotifies - * with DeviceValuators. */ - Bool sendValuators = (type == MotionNotify || flags & POINTER_ABSOLUTE); DeviceIntPtr cp = inputInfo.pointer; int x = 0, y = 0; Bool coreOnly = (pDev == inputInfo.pointer); /* Sanity checks. */ if (type != MotionNotify && type != ButtonPress && type != ButtonRelease) @@ -550,13 +547,13 @@ GetPointerEvents(xEvent *events, DeviceIntPtr pDev, int type, int buttons, num_events = 1; if (type == MotionNotify && num_valuators <= 0) return 0; /* Do we need to send a DeviceValuator event? */ - if (!coreOnly && sendValuators) { + if (!coreOnly && num_valuators) { if ((((num_valuators - 1) / 6) + 1) > MAX_VALUATOR_EVENTS) num_valuators = MAX_VALUATOR_EVENTS * 6; num_events += ((num_valuators - 1) / 6) + 1; } final_valuator = num_valuators + first_valuator; @@ -681,13 +678,13 @@ GetPointerEvents(xEvent *events, DeviceIntPtr pDev, int type, int buttons, } kbp->root_x = x; kbp->root_y = y; events++; - if (sendValuators) { + if (num_valuators) { kbp->deviceid |= MORE_EVENTS; clipValuators(pDev, first_valuator, num_valuators, valuators); events = getValuatorEvents(events, pDev, first_valuator, num_valuators, valuators); } } |