xserver: Branch 'master' - 3 commits
Peter Hutterer
whot at kemper.freedesktop.org
Sat Jun 6 16:33:03 PDT 2009
dix/devices.c | 8 +++++---
dix/events.c | 3 +++
dix/getevents.c | 2 +-
3 files changed, 9 insertions(+), 4 deletions(-)
New commits:
commit 7348bf4935c8887bca33fe340ac2548f551bee3d
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date: Sun Jun 7 09:25:51 2009 +1000
dix: set the generic event type for implicit XI2 grabs.
event->type is always GenericEvent for XI2 events. Instead, XI_ButtonPress
(the generic event's evtype must be stored.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/dix/events.c b/dix/events.c
index 538d6fd..ffeb449 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -2093,7 +2093,10 @@ DeliverEventsToWindow(DeviceIntPtr pDev, WindowPtr pWin, xEvent
else if (type == DeviceButtonPress)
tempGrab.grabtype = GRABTYPE_XI;
else
+ {
+ tempGrab.type = ((xGenericEvent*)pEvents)->evtype;
tempGrab.grabtype = GRABTYPE_XI2;
+ }
/* get the XI and XI2 device mask */
inputMasks = wOtherInputMasks(pWin);
commit bb1c131b785ca30cf40041db3513b7669beebd34
Author: Simon Thum <simon.thum at gmx.de>
Date: Thu May 28 16:43:42 2009 +0200
dix: suppress pointer acceleration on xtest devices
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/dix/devices.c b/dix/devices.c
index 6266b63..eb54e0a 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -1194,7 +1194,9 @@ InitValuatorClassDeviceStruct(DeviceIntPtr dev, int numAxes,
}
dev->last.numValuators = numAxes;
- if(IsMaster(dev)) /* master devs do not accelerate */
+
+ if (IsMaster(dev) || /* do not accelerate master or xtest devices */
+ dixLookupPrivate(&dev->devPrivates, XTstDevicePrivateKey ))
InitPointerAccelerationScheme(dev, PtrAccelNoOp);
else
InitPointerAccelerationScheme(dev, PtrAccelDefault);
@@ -1226,8 +1228,8 @@ InitPointerAccelerationScheme(DeviceIntPtr dev,
if(!val)
return FALSE;
- if(IsMaster(dev) && (scheme != PtrAccelNoOp))
- scheme = PtrAccelNoOp; /* no accel for master devices */
+ if(IsMaster(dev) && scheme != PtrAccelNoOp)
+ return FALSE;
for(x = 0; pointerAccelerationScheme[x].number >= 0; x++) {
if(pointerAccelerationScheme[x].number == scheme){
commit 707b1241681c33401d5e0eb6edeace33f5970928
Author: Simon Thum <simon.thum at gmx.de>
Date: Sat Mar 21 18:19:19 2009 +0100
dix: prefer lroundf() over roundf() in axis scaling
it's unclear whether there actually is a problem, but in a very similar
case there is (bug#21456). Also, integer addition is generally faster.
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
diff --git a/dix/getevents.c b/dix/getevents.c
index 83aedbe..9b1908c 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -260,7 +260,7 @@ rescaleValuatorAxis(int coord, AxisInfoPtr from, AxisInfoPtr to,
if(fmax == fmin) /* avoid division by 0 */
return 0;
- return roundf(((float)(coord - fmin)) * (tmax - tmin) /
+ return lroundf(((float)(coord - fmin)) * (tmax - tmin) /
(fmax - fmin)) + tmin;
}
More information about the xorg-commit
mailing list