File exa-greedy.diff of Package xorg-x11-server

diff --git a/exa/exa_migration.c b/exa/exa_migration.c
index 3c79f68..1332f42 100644
--- a/exa/exa_migration.c
+++ b/exa/exa_migration.c
@@ -468,7 +503,11 @@ exaMigrateTowardFb (ExaMigrationPtr migrate)
 	exaDoMoveInPixmap(migrate);
     }
 
-    ExaOffscreenMarkUsed (pPixmap);
+    if (exaPixmapIsOffscreen(pPixmap)) {
+	exaCopyDirtyToFb (migrate);
+	ExaOffscreenMarkUsed (pPixmap);
+    } else
+	exaCopyDirtyToSys (migrate);
 }
 
 /**
@@ -501,6 +540,12 @@ exaMigrateTowardSys (ExaMigrationPtr migrate)
 
     if (pExaPixmap->score <= EXA_PIXMAP_SCORE_MOVE_OUT && pExaPixmap->area)
 	exaDoMoveOutPixmap(migrate);
+
+    if (exaPixmapIsOffscreen(pPixmap)) {
+	exaCopyDirtyToFb (migrate);
+	ExaOffscreenMarkUsed (pPixmap);
+    } else
+	exaCopyDirtyToSys (migrate);
 }
 
 /**
openSUSE Build Service is sponsored by