31 lines
832 B
Diff
31 lines
832 B
Diff
Index: xorg-server-1.6.3/exa/exa_migration.c
|
|
===================================================================
|
|
--- xorg-server-1.6.3.orig/exa/exa_migration.c
|
|
+++ xorg-server-1.6.3/exa/exa_migration.c
|
|
@@ -463,7 +463,11 @@ exaMigrateTowardFb (ExaMigrationPtr migr
|
|
exaDoMoveInPixmap(migrate);
|
|
}
|
|
|
|
- ExaOffscreenMarkUsed (pPixmap);
|
|
+ if (exaPixmapIsOffscreen(pPixmap)) {
|
|
+ exaCopyDirtyToFb (migrate);
|
|
+ ExaOffscreenMarkUsed (pPixmap);
|
|
+ } else
|
|
+ exaCopyDirtyToSys (migrate);
|
|
}
|
|
|
|
/**
|
|
@@ -496,6 +500,12 @@ exaMigrateTowardSys (ExaMigrationPtr mig
|
|
|
|
if (pExaPixmap->score <= EXA_PIXMAP_SCORE_MOVE_OUT && pExaPixmap->area)
|
|
exaDoMoveOutPixmap(migrate);
|
|
+
|
|
+ if (exaPixmapIsOffscreen(pPixmap)) {
|
|
+ exaCopyDirtyToFb (migrate);
|
|
+ ExaOffscreenMarkUsed (pPixmap);
|
|
+ } else
|
|
+ exaCopyDirtyToSys (migrate);
|
|
}
|
|
|
|
/**
|