summaryrefslogtreecommitdiff
path: root/exa
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2007-09-17 20:33:56 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2007-09-17 20:40:13 +0200
commit547ad2125ece93bbe01f6d09a3baf176ebd16bb3 (patch)
treeddd05fd2416f3dc0ccec84815222b1fbbbf2e86a /exa
parent56cc24ffb21f7fd41f9ea9e8f969aa85021b9f53 (diff)
EXA: Make sure driver hooks get correct offscreen offsets from exaCopyDirty.
This should ensure the driver UploadTo/DownloadFromScreen hooks can always work as intended.
Diffstat (limited to 'exa')
-rw-r--r--exa/exa_migration.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/exa/exa_migration.c b/exa/exa_migration.c
index ace90765d..c0e022ca7 100644
--- a/exa/exa_migration.c
+++ b/exa/exa_migration.c
@@ -127,7 +127,7 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc,
ExaPixmapPriv (pPixmap);
RegionPtr damage = DamageRegion (pExaPixmap->pDamage);
RegionRec CopyReg;
- CARD8 *save_ptr;
+ Bool save_offscreen;
int save_pitch;
BoxPtr pBox;
int nbox;
@@ -176,9 +176,9 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc,
pBox = REGION_RECTS(&CopyReg);
nbox = REGION_NUM_RECTS(&CopyReg);
- save_ptr = pPixmap->devPrivate.ptr;
+ save_offscreen = pExaPixmap->offscreen;
save_pitch = pPixmap->devKind;
- pPixmap->devPrivate.ptr = pExaPixmap->fb_ptr;
+ pExaPixmap->offscreen = TRUE;
pPixmap->devKind = pExaPixmap->fb_pitch;
while (nbox--) {
@@ -216,7 +216,7 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc,
else
sync (pPixmap->drawable.pScreen);
- pPixmap->devPrivate.ptr = save_ptr;
+ pExaPixmap->offscreen = save_offscreen;
pPixmap->devKind = save_pitch;
/* The copied bits are now valid in destination */