summaryrefslogtreecommitdiff
path: root/miext
diff options
context:
space:
mode:
Diffstat (limited to 'miext')
-rwxr-xr-xmiext/damage/damage.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/miext/damage/damage.c b/miext/damage/damage.c
index 98f42e54c..e27b95e80 100755
--- a/miext/damage/damage.c
+++ b/miext/damage/damage.c
@@ -37,6 +37,9 @@
#include "gcstruct.h"
#include "damage.h"
#include "damagestr.h"
+#ifdef COMPOSITE
+#include "cw.h"
+#endif
#define wrap(priv, real, mem, func) {\
priv->mem = real->mem; \
@@ -1729,6 +1732,16 @@ DamageSetup (ScreenPtr pScreen)
if (!pScrPriv)
return FALSE;
+#ifdef COMPOSITE
+ /* This is a kludge to ensure wrapping order with the composite wrapper.
+ * If it's done from compinit.c, then DamageSetup may be called before the
+ * extension init phase, so that cw will be higher in the wrapping chain and
+ * rewrite drawables before damage gets to it, causing confusion.
+ */
+ if (!noCompositeExtension)
+ miInitializeCompositeWrapper (pScreen);
+#endif
+
pScrPriv->internalLevel = 0;
pScrPriv->pScreenDamage = 0;