xserver: Branch 'master' - 3 commits

Peter Hutterer whot at kemper.freedesktop.org
Tue Jun 23 16:02:16 PDT 2009


 dix/getevents.c |   32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

New commits:
commit e341512bfa40dd98853a20596dc65dcac4dcaa37
Author: Thomas Jaeger <ThJaeger at gmail.com>
Date:   Sat Jun 20 21:37:59 2009 -0400

    dix: update a comment
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/dix/getevents.c b/dix/getevents.c
index 9a68bf0..c510122 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -1016,7 +1016,7 @@ GetPointerEvents(EventList *events, DeviceIntPtr pDev, int type, int buttons,
     CARD32 ms;
     DeviceEvent *event;
     RawDeviceEvent    *raw;
-    int x = 0, y = 0, /* switches between device and screen coords */
+    int x = 0, y = 0, /* device coords */
         cx, cy; /* only screen coordinates */
     ScreenPtr scr = miPointerGetScreen(pDev);
 
commit 5cbd4d3d6e54d202ecdbb527b57aaefeb8435600
Author: Thomas Jaeger <ThJaeger at gmail.com>
Date:   Sat Jun 20 20:17:04 2009 -0400

    dix: do away with an instance of temporary in-place modification
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/dix/getevents.c b/dix/getevents.c
index b71e980..9a68bf0 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -753,6 +753,8 @@ static void
 positionSprite(DeviceIntPtr dev, int *x, int *y,
                ScreenPtr scr, int *screenx, int *screeny)
 {
+    int old_screenx, old_screeny;
+
     /* scale x&y to screen */
     if (dev->valuator->numAxes > 0)
         *screenx = rescaleValuatorAxis(*x, dev->valuator->axes + 0, NULL, scr->width);
@@ -764,12 +766,11 @@ positionSprite(DeviceIntPtr dev, int *x, int *y,
     else
         *screeny = dev->last.valuators[1];
 
-    dev->last.valuators[0] = *screenx;
-    dev->last.valuators[1] = *screeny;
-
+    old_screenx = *screenx;
+    old_screeny = *screeny;
     /* This takes care of crossing screens for us, as well as clipping
      * to the current screen. */
-    miPointerSetPosition(dev, &dev->last.valuators[0], &dev->last.valuators[1]);
+    miPointerSetPosition(dev, screenx, screeny);
 
     if (dev->u.master) {
         dev->u.master->last.valuators[0] = dev->last.valuators[0];
@@ -777,18 +778,16 @@ positionSprite(DeviceIntPtr dev, int *x, int *y,
     }
 
     /* Crossed screen? Scale back to device coordiantes */
-    if(*screenx != dev->last.valuators[0])
+    if(*screenx != old_screenx)
     {
         scr = miPointerGetScreen(dev);
-        *x = rescaleValuatorAxis(dev->last.valuators[0], NULL,
+        *x = rescaleValuatorAxis(*screenx, NULL,
                                 dev->valuator->axes + 0, scr->width);
-        *screenx = dev->last.valuators[0];
     }
-    if(*screeny != dev->last.valuators[1])
+    if(*screeny != old_screeny)
     {
         scr = miPointerGetScreen(dev);
-        *screeny = dev->last.valuators[1];
-        *y = rescaleValuatorAxis(dev->last.valuators[1], NULL,
+        *y = rescaleValuatorAxis(*screeny, NULL,
                                  dev->valuator->axes + 1, scr->height);
     }
 
commit 94cdc1ef0a72802573a11ba292e2f5cc8474aa8e
Author: Thomas Jaeger <ThJaeger at gmail.com>
Date:   Mon Jun 22 13:00:37 2009 -0400

    dix: deal with first_valuator > 0 correctly if POINTER_SCREEN is set
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/dix/getevents.c b/dix/getevents.c
index a08d4b2..b71e980 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -1050,11 +1050,12 @@ GetPointerEvents(EventList *events, DeviceIntPtr pDev, int type, int buttons,
         if (flags & POINTER_SCREEN) /* valuators are in screen coords */
         {
 
-            valuators[0] = rescaleValuatorAxis(valuators[0], NULL,
-                    pDev->valuator->axes + 0,
-                    scr->width);
-            if (num_valuators > 1)
-                valuators[1] = rescaleValuatorAxis(valuators[1], NULL,
+            if (num_valuators >= 1 && first_valuator == 0)
+                valuators[0] = rescaleValuatorAxis(valuators[0], NULL,
+                        pDev->valuator->axes + 0,
+                        scr->width);
+            if (first_valuator <= 1 && num_valuators >= (2 - first_valuator))
+                valuators[1 - first_valuator] = rescaleValuatorAxis(valuators[1 - first_valuator], NULL,
                         pDev->valuator->axes + 1,
                         scr->height);
         }


More information about the xorg-commit mailing list