summaryrefslogtreecommitdiff
path: root/exa/exa.c
diff options
context:
space:
mode:
authorMaarten Maathuis <madman2003@gmail.com>2009-02-17 19:06:35 +0100
committerMaarten Maathuis <madman2003@gmail.com>2009-02-17 19:25:35 +0100
commit3175646b10c602d17d5dd37bdace7c1c7ee92b3d (patch)
tree5ec29f76d020428a60fc2a86dceb4852cdf052c3 /exa/exa.c
parent97c1cbc70216366e92b9371de608ce94e60aa874 (diff)
exa: exaPixmapDirty should use official damage functions.
- Otherwise other users will not be notified of damage.
Diffstat (limited to 'exa/exa.c')
-rw-r--r--exa/exa.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/exa/exa.c b/exa/exa.c
index f1ccf9d27..9329f1094 100644
--- a/exa/exa.c
+++ b/exa/exa.c
@@ -160,14 +160,9 @@ exaGetDrawableDeltas (DrawablePtr pDrawable, PixmapPtr pPixmap,
void
exaPixmapDirty (PixmapPtr pPix, int x1, int y1, int x2, int y2)
{
- ExaPixmapPriv(pPix);
BoxRec box;
- RegionPtr pDamageReg;
RegionRec region;
- if (!pExaPixmap || !pExaPixmap->pDamage)
- return;
-
box.x1 = max(x1, 0);
box.y1 = max(y1, 0);
box.x2 = min(x2, pPix->drawable.width);
@@ -176,10 +171,9 @@ exaPixmapDirty (PixmapPtr pPix, int x1, int y1, int x2, int y2)
if (box.x1 >= box.x2 || box.y1 >= box.y2)
return;
- pDamageReg = DamageRegion(pExaPixmap->pDamage);
-
REGION_INIT(pScreen, &region, &box, 1);
- REGION_UNION(pScreen, pDamageReg, pDamageReg, &region);
+ DamageRegionAppend(&pPix->drawable, &region);
+ DamageRegionProcessPending(&pPix->drawable);
REGION_UNINIT(pScreen, &region);
}