diff options
author | Sybren van Elderen <sowmestno@msn.com> | 2013-01-29 15:43:57 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2013-02-08 13:47:24 +1000 |
commit | a191dbfe850ed9c6440346f59cb0078e0e844edc (patch) | |
tree | 7d58d2d0acdb836d4769255b7cf3d358dbac888e /dix | |
parent | 1cb19803f0f8dfd1e0fb9d189afe2262e24a0be5 (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.c | 4 |
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); } } |