xserver: Branch 'master' - 2 commits

Peter Hutterer whot at kemper.freedesktop.org
Thu Oct 1 19:17:55 PDT 2009


 configure.ac    |    3 +++
 dix/getevents.c |   13 +++++++++++++
 2 files changed, 16 insertions(+)

New commits:
commit 45f447dafded5adfe11b7df3325c2d8f6ae0639b
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Thu Oct 1 21:19:11 2009 +1000

    dix: force a minimum of 0 for screen coordinates.
    
    Currently the root coordinates may fall into ]-1..0] if the subpixel
    remainder is less than 0. Screen coordinates mustn't go below 0, so use
    miPointerSetPosition to cap off the remainder if the coordinates are below
    0.
    
    This is cheating a bit, a more comprehensive solution to deal with subpixels
    correctly when crossing screens is needed. For now, this'll do.
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Acked-by: Simon Thum <simon.thum at gmx.de>

diff --git a/dix/getevents.c b/dix/getevents.c
index 5224d31..2df32e8 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -781,6 +781,19 @@ positionSprite(DeviceIntPtr dev, int *x, int *y, float x_frac, float y_frac,
         *screeny_frac = dev->last.remainder[1];
     }
 
+    /* Hit the left screen edge? */
+    if (*screenx <= 0 && *screenx_frac < 0.0f)
+    {
+        *screenx_frac = 0.0f;
+        x_frac = 0.0f;
+    }
+    if (*screeny <= 0 && *screeny_frac < 0.0f)
+    {
+        *screeny_frac = 0.0f;
+        y_frac = 0.0f;
+    }
+
+
     old_screenx = *screenx;
     old_screeny = *screeny;
     /* This takes care of crossing screens for us, as well as clipping
commit 64fe5784b49347e1fd27b0c463be5c16557594c9
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Fri Oct 2 09:34:24 2009 +1000

    configure: if xnest was requested but modules weren't found, fail.
    
    Tested-by: Xavier Chantry <shiningxc at gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Acked-by: Julien Cristau <jcristau at debian.org>

diff --git a/configure.ac b/configure.ac
index 7fdcf5a..46421fd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1375,6 +1375,9 @@ AC_MSG_RESULT([$XNEST])
 AM_CONDITIONAL(XNEST, [test "x$XNEST" = xyes])
 
 if test "x$XNEST" = xyes; then
+	if test "x$have_xnest" = xno; then
+		AC_MSG_ERROR([Xnest build explicitly requested, but required modules not found.])
+	fi
 	XNEST_LIBS="$FB_LIB $FIXES_LIB $MI_LIB $XEXT_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $DIX_LIB $MAIN_LIB $OS_LIB $CONFIG_LIB"
 	XNEST_SYS_LIBS="$XNESTMODULES_LIBS $GLX_SYS_LIBS"
 	AC_SUBST([XNEST_LIBS])


More information about the xorg-commit mailing list