aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/dix/getevents.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-04-07 07:49:55 +0000
committermarha <marha@users.sourceforge.net>2011-04-07 07:49:55 +0000
commit143921f2eb615190ed77e57a6f93f02ffb325c91 (patch)
tree19c73ab0992ee863cc67e7b98da84d2347a77ef7 /xorg-server/dix/getevents.c
parente2b908c356746281aba48128da7dc15a28f5a773 (diff)
parentde1c6801fc854692d39fb2f8d53bf54ab25a1287 (diff)
downloadvcxsrv-143921f2eb615190ed77e57a6f93f02ffb325c91.tar.gz
vcxsrv-143921f2eb615190ed77e57a6f93f02ffb325c91.tar.bz2
vcxsrv-143921f2eb615190ed77e57a6f93f02ffb325c91.zip
svn merge ^/branches/released .
Diffstat (limited to 'xorg-server/dix/getevents.c')
-rw-r--r--xorg-server/dix/getevents.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/xorg-server/dix/getevents.c b/xorg-server/dix/getevents.c
index 7f273fb2d..c8fb48192 100644
--- a/xorg-server/dix/getevents.c
+++ b/xorg-server/dix/getevents.c
@@ -220,6 +220,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))
@@ -231,6 +233,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];
}
}