xserver: Branch 'server-1.11-branch' - 3 commits

Jeremy Huddleston jeremyhu at kemper.freedesktop.org
Wed Jan 18 10:57:32 PST 2012


 dix/events.c     |    2 +-
 mi/mibitblt.c    |    2 +-
 render/animcur.c |    3 +++
 3 files changed, 5 insertions(+), 2 deletions(-)

New commits:
commit a1ed67fa0551ee2b39d002d3b786a2017b37c7ac
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Fri Jan 6 13:20:45 2012 +1000

    render: don't bother with animated cursors on floating slaves (#39989)
    
    X.Org Bug 39989 <http://bugs.freedesktop.org/show_bug.cgi?id=39989>
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>
    (cherry picked from commit bbb6b8c834e0e1491ca14403b5d0840dd14380d3)

diff --git a/render/animcur.c b/render/animcur.c
index 31cbab9..8d4a9c2 100644
--- a/render/animcur.c
+++ b/render/animcur.c
@@ -208,6 +208,9 @@ AnimCurDisplayCursor (DeviceIntPtr pDev,
     AnimCurScreenPtr    as = GetAnimCurScreen(pScreen);
     Bool		ret;
 
+    if (IsFloating(pDev))
+	    return FALSE;
+
     Unwrap (as, pScreen, DisplayCursor);
     if (IsAnimCur(pCursor))
     {
commit f89c39e6c9e20ffc3c1ae228ee601c2ab9007ff4
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Mon Jan 9 15:04:10 2012 +1000

    dix: Update pointer limits for floating devices too (#43635)
    
    When the screen is restructured, the pointer limits need to be reset for
    floating slave devices as well, not just for master pointers. Only skip
    devices that don't have a cursor (attached slaves and keyboard)
    
    Bug reproducer: float an absolute slave device, rotate the screen - the
    device is now confined to a section of the screen only.
    
    X.Org Bug 43635 <http://bugs.freedesktop.org/show_bug.cgi?id=43635>
    
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
    Reviewed-by: Chase Douglas <chase.douglas at canonical.com>
    (cherry picked from commit 35bd77e9d0701daae87d681900d749604fc6471f)

diff --git a/dix/events.c b/dix/events.c
index 8e7f9c3..7d2d0e3 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -1356,7 +1356,7 @@ ScreenRestructured (ScreenPtr pScreen)
 
     for (pDev = inputInfo.devices; pDev; pDev = pDev->next)
     {
-        if (!DevHasCursor(pDev))
+        if (!IsFloating(pDev) && !DevHasCursor(pDev))
             continue;
 
         /* GrabDevice doesn't have a confineTo field, so we don't need to
commit dea9377a257a402b2c7fe4a96c958d951a7d4579
Author: Zhigang Gong <zhigang.gong at linux.intel.com>
Date:   Wed Jan 4 07:01:19 2012 +0000

    mi/mibitblt: Fix an overflow bug of bit shift.
    
    When depth equal to 32 and planeMask equal to 0, the overflow will
    occur and cause the pixmap can't be cleared. There are some test
    cases in XTS hit this bug, and this fix can eliminate the corresponding
    failures.
    
    Signed-off-by: Zhigang Gong <zhigang.gong at linux.intel.com>
    Reviewed-by: Adam Jackson <ajax at redhat.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>
    (cherry picked from commit f4956faab9ccf9aba6cf9603f4489f5dad19a347)

diff --git a/mi/mibitblt.c b/mi/mibitblt.c
index 49e17bd..6e00557 100644
--- a/mi/mibitblt.c
+++ b/mi/mibitblt.c
@@ -648,7 +648,7 @@ miGetImage( DrawablePtr pDraw, int sx, int sy, int w, int h,
     depth = pDraw->depth;
     if(format == ZPixmap)
     {
-	if ( (((1<<depth)-1)&planeMask) != (1<<depth)-1 )
+	if ( (((1LL<<depth)-1)&planeMask) != (1LL<<depth)-1 )
 	{
 	    ChangeGCVal gcv;
 	    xPoint pt;


More information about the xorg-commit mailing list