This reverts commit d4fc245115eb2cb323e06a82f9dd52518d9b6a16.

- This is causing crashes/problems for some.
---
 exa/exa_migration_mixed.c |   21 ++++++++-------------
 1 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/exa/exa_migration_mixed.c b/exa/exa_migration_mixed.c
index 121a4ad..ea6f878 100644
--- a/exa/exa_migration_mixed.c
+++ b/exa/exa_migration_mixed.c
@@ -98,17 +98,14 @@ exaDoMigration_mixed(ExaMigrationPtr pixmaps, int npixmaps, 
Bool can_accel)
        if (!pExaPixmap->driverPriv)
            exaCreateDriverPixmap_mixed(pPixmap);
 
-       if (exaPixmapIsOffscreen(pPixmap)) {
-           pPixmap->devKind = pExaPixmap->fb_pitch;
-
-           if (pExaPixmap->pDamage) {
-               ExaScreenPriv(pPixmap->drawable.pScreen);
+       if (pExaPixmap->pDamage && exaPixmapIsOffscreen(pPixmap)) {
+           ExaScreenPriv(pPixmap->drawable.pScreen);
 
-               exaCopyDirtyToFb(pixmaps + i);
+           pPixmap->devKind = pExaPixmap->fb_pitch;
+           exaCopyDirtyToFb(pixmaps + i);
 
-               if (pExaScr->deferred_mixed_pixmap == pPixmap)
-                   pExaScr->deferred_mixed_pixmap = NULL;
-           }
+           if (pExaScr->deferred_mixed_pixmap == pPixmap)
+               pExaScr->deferred_mixed_pixmap = NULL;
        }
 
        pExaPixmap->offscreen = exaPixmapIsOffscreen(pPixmap);
@@ -136,9 +133,8 @@ exaMoveInPixmap_mixed(PixmapPtr pPixmap)
 void
 exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg)
 {
-    ExaPixmapPriv(pPixmap);
-
     if (!ExaDoPrepareAccess(pPixmap, index)) {
+       ExaPixmapPriv(pPixmap);
        Bool is_offscreen = exaPixmapIsOffscreen(pPixmap);
        ExaMigrationRec pixmaps[1];
 
@@ -201,8 +197,7 @@ exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, 
RegionPtr pReg)
        pPixmap->devPrivate.ptr = pExaPixmap->sys_ptr;
        pPixmap->devKind = pExaPixmap->sys_pitch;
        pExaPixmap->offscreen = FALSE;
-    } else
-       pPixmap->devKind = pExaPixmap->fb_pitch;
+    }
 }
 
 /* Move back results of software rendering on system memory copy of mixed 
driver
-- 
1.6.5.2

_______________________________________________
xorg-devel mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to