From f112d6bf59964f317ab236221f7bce7fe2603ab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Fri, 6 Feb 2009 18:30:43 +0100 Subject: [PATCH] EXA: Try harder to keep current pixmap copy up to date in exaMigrateToward*. This is probably required, but apparently not sufficient, for making migration heuristics other than "always" work correctly again. Not that I really care about them... --- exa/exa_migration.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/exa/exa_migration.c b/exa/exa_migration.c index 4623eccdd..19e0f71d9 100644 --- a/exa/exa_migration.c +++ b/exa/exa_migration.c @@ -463,7 +463,11 @@ exaMigrateTowardFb (ExaMigrationPtr migrate) exaDoMoveInPixmap(migrate); } - ExaOffscreenMarkUsed (pPixmap); + if (exaPixmapIsOffscreen(pPixmap)) { + exaCopyDirtyToFb (migrate); + ExaOffscreenMarkUsed (pPixmap); + } else + exaCopyDirtyToSys (migrate); } /** @@ -496,6 +500,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); } /**