diff options
author | Keith Packard <keithp@keithp.com> | 2008-09-18 12:17:05 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2008-09-19 20:59:40 -0700 |
commit | 03ab8f11d25b0ca39a3b37b5350bca4c1028768e (patch) | |
tree | 06d1ccfca5d8c12099d2f43ce92ea5e0321a2af0 /mi | |
parent | d26083fe02658e7312a8da6a5b11652f9fe57bc8 (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.c | 9 |
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 |