summaryrefslogtreecommitdiff
path: root/mi
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2008-09-18 12:17:05 -0700
committerKeith Packard <keithp@keithp.com>2008-09-19 20:59:40 -0700
commit03ab8f11d25b0ca39a3b37b5350bca4c1028768e (patch)
tree06d1ccfca5d8c12099d2f43ce92ea5e0321a2af0 /mi
parentd26083fe02658e7312a8da6a5b11652f9fe57bc8 (diff)
When resizing a window with redirected descendents, don't expose them
Bit/window gravity computations need to recompute exposures to manage the bits which are saved by gravity during the resize computation. That's easy for non-redirected windows where the bits are all within the parent's pixmap. For redirected windows, we don't need to deal with this at all, so just skip the whole re-computation adventure. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'mi')
-rw-r--r--mi/miwindow.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/mi/miwindow.c b/mi/miwindow.c
index e3360d631..8c4b6d08e 100644
--- a/mi/miwindow.c
+++ b/mi/miwindow.c
@@ -342,6 +342,15 @@ miRecomputeExposures (
if (pWin->valdata)
{
+#ifdef COMPOSITE
+ /*
+ * Redirected windows are not affected by parent window
+ * gravity manipulations, so don't recompute their
+ * exposed areas here.
+ */
+ if (pWin->redirectDraw != RedirectDrawNone)
+ return WT_DONTWALKCHILDREN;
+#endif
pScreen = pWin->drawable.pScreen;
/*
* compute exposed regions of this window