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