summaryrefslogtreecommitdiff
path: root/exa/exa_migration.c
diff options
context:
space:
mode:
authorEric Anholt <anholt@freebsd.org>2006-03-15 16:59:45 +0000
committerEric Anholt <anholt@freebsd.org>2006-03-15 16:59:45 +0000
commitc74464d92cd673ff0669375757caab798cc57e95 (patch)
tree1aeb6023a942db9d5868c83e6e9a824dda51e51b /exa/exa_migration.c
parentb9c43cde1e368903786977b06368d5e36db9ffe8 (diff)
Don't let pinned pixmaps get migrated in when using the "Always" migration
scheme. This notably keeps the visible screen from getting migrated in to a new location in framebuffer. Reported by: Michel Dänzer.
Diffstat (limited to 'exa/exa_migration.c')
-rw-r--r--exa/exa_migration.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/exa/exa_migration.c b/exa/exa_migration.c
index ce4ce7455..68f88047c 100644
--- a/exa/exa_migration.c
+++ b/exa/exa_migration.c
@@ -171,6 +171,9 @@ exaMoveInPixmap (PixmapPtr pPixmap)
char *dst, *src;
int i;
+ if (exaPixmapIsPinned(pPixmap))
+ return;
+
DBG_MIGRATE (("-> 0x%lx (0x%x) (%dx%d)\n", pPixmap->drawable.id,
(ExaGetPixmapPriv(pPixmap)->area ?
ExaGetPixmapPriv(pPixmap)->area->offset : 0),