summaryrefslogtreecommitdiff
path: root/composite/compalloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'composite/compalloc.c')
-rw-r--r--composite/compalloc.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/composite/compalloc.c b/composite/compalloc.c
index b2e3f7165..e4064f6b1 100644
--- a/composite/compalloc.c
+++ b/composite/compalloc.c
@@ -47,11 +47,11 @@
#include "compint.h"
-void
+static void
compScreenUpdate (ScreenPtr pScreen)
{
compCheckTree (pScreen);
- compWindowUpdate (pScreen->root);
+ compPaintChildrenToWindow (pScreen->root);
}
static void
@@ -84,6 +84,15 @@ compReportDamage (DamagePtr pDamage, RegionPtr pRegion, void *closure)
pScreen->BlockHandler = compBlockHandler;
}
cw->damaged = TRUE;
+
+ /* Mark the ancestors */
+ pWin = pWin->parent;
+ while (pWin) {
+ if (pWin->damagedDescendants)
+ break;
+ pWin->damagedDescendants = TRUE;
+ pWin = pWin->parent;
+ }
}
static void