summaryrefslogtreecommitdiff
path: root/dix
diff options
context:
space:
mode:
authorSybren van Elderen <sowmestno@msn.com>2013-01-29 15:43:57 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2013-02-08 13:47:24 +1000
commita191dbfe850ed9c6440346f59cb0078e0e844edc (patch)
tree7d58d2d0acdb836d4769255b7cf3d358dbac888e /dix
parent1cb19803f0f8dfd1e0fb9d189afe2262e24a0be5 (diff)
dix: when scaling from desktop coord, take the total desktop size (#51904)
Scaled is already in desktop coordinates, take the total width into account, not just the current screen's width. Fixes Xdmx pointer position calculation. X.Org Bug 51904 <http://bugs.freedesktop.org/show_bug.cgi?id=51904> Signed-off-by: Sybren van Elderen <sowmestno@msn.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'dix')
-rw-r--r--dix/getevents.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/dix/getevents.c b/dix/getevents.c
index a1e193815..8fe54d713 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -833,14 +833,14 @@ scale_from_screen(DeviceIntPtr dev, ValuatorMask *mask)
scaled = valuator_mask_get_double(mask, 0) + scr->x;
scaled = rescaleValuatorAxis(scaled,
NULL, dev->valuator->axes + 0,
- 0, scr->width);
+ screenInfo.x, screenInfo.width);
valuator_mask_set_double(mask, 0, scaled);
}
if (valuator_mask_isset(mask, 1)) {
scaled = valuator_mask_get_double(mask, 1) + scr->y;
scaled = rescaleValuatorAxis(scaled,
NULL, dev->valuator->axes + 1,
- 0, scr->height);
+ screenInfo.y, screenInfo.height);
valuator_mask_set_double(mask, 1, scaled);
}
}