summaryrefslogtreecommitdiff
path: root/dix/getevents.c
diff options
context:
space:
mode:
authorJon TURNEY <jon.turney@dronecode.org.uk>2011-04-22 17:03:27 +0100
committerJon TURNEY <jon.turney@dronecode.org.uk>2011-04-22 17:03:27 +0100
commitecd7b4bb7d143aba7a7e701dd355b23beb2a59f8 (patch)
tree7b9b9ac2205d2494b8b4fe1056b4d0951be632bc /dix/getevents.c
parent9ce5da7b4c600c74f7cea58d0bb0789f365547e1 (diff)
parenta73311f8304193f9245fb077f173bf1e1d52e040 (diff)
Merge commit 'xorg-server-1.10.1' into cygwin-release-1.10xserver-cygwin-1.10.1-1
Conflicts: glx/glapi.c
Diffstat (limited to 'dix/getevents.c')
-rw-r--r--dix/getevents.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/dix/getevents.c b/dix/getevents.c
index 794df420b..8355040f1 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -205,6 +205,8 @@ set_valuators(DeviceIntPtr dev, DeviceEvent* event, ValuatorMask *mask)
{
int i;
+ /* Set the data to the previous value for unset absolute axes. The values
+ * may be used when sent as part of an XI 1.x valuator event. */
for (i = 0; i < valuator_mask_size(mask); i++)
{
if (valuator_mask_isset(mask, i))
@@ -216,6 +218,8 @@ set_valuators(DeviceIntPtr dev, DeviceEvent* event, ValuatorMask *mask)
event->valuators.data_frac[i] =
dev->last.remainder[i] * (1 << 16) * (1 << 16);
}
+ else if (valuator_get_mode(dev, i) == Absolute)
+ event->valuators.data[i] = dev->valuator->axisVal[i];
}
}