From 77f54d0b20cc194e708bc664740e4c0b0e13c3dd Mon Sep 17 00:00:00 2001 From: marha Date: Mon, 3 Sep 2012 09:49:31 +0200 Subject: Reverted xorg commit bafbd99080be49a17be97d2cc758fbe623369945: dix: work around scaling issues during WarpPointer (#53037) Gave problems in vcsrv on multiple monitors --- xorg-server/dix/getevents.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/xorg-server/dix/getevents.c b/xorg-server/dix/getevents.c index 04e1d6b7e..9a350388b 100644 --- a/xorg-server/dix/getevents.c +++ b/xorg-server/dix/getevents.c @@ -1348,7 +1348,6 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, RawDeviceEvent *raw; double screenx = 0.0, screeny = 0.0; /* desktop coordinate system */ double devx = 0.0, devy = 0.0; /* desktop-wide in device coords */ - int sx, sy; /* for POINTER_SCREEN */ ValuatorMask mask; ScreenPtr scr; @@ -1391,11 +1390,8 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, /* valuators are in driver-native format (rel or abs) */ if (flags & POINTER_ABSOLUTE) { - if (flags & POINTER_SCREEN) { /* valuators are in screen coords */ - sx = valuator_mask_get(&mask, 0); - sy = valuator_mask_get(&mask, 1); + if (flags & POINTER_SCREEN) /* valuators are in screen coords */ scale_from_screen(pDev, &mask); - } transformAbsolute(pDev, &mask); clipAbsolute(pDev, &mask); @@ -1413,18 +1409,6 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, /* valuators are in device coordinate system in absolute coordinates */ scale_to_desktop(pDev, &mask, &devx, &devy, &screenx, &screeny); - - /* #53037 XWarpPointer's scaling back and forth between screen and - device may leave us with rounding errors. End result is that the - pointer doesn't end up on the pixel it should. - Avoid this by forcing screenx/screeny back to what the input - coordinates were. - */ - if (flags & POINTER_SCREEN) { - screenx = sx; - screeny = sy; - } - scr = positionSprite(pDev, (flags & POINTER_ABSOLUTE) ? Absolute : Relative, &mask, &devx, &devy, &screenx, &screeny); -- cgit v1.2.3