diff options
author | Adam Jackson <ajax@redhat.com> | 2010-10-18 15:52:52 -0400 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2010-10-18 17:38:18 -0400 |
commit | db8840600e8e21356241eb87395031388d9b54d2 (patch) | |
tree | edb5c7cde29a1cd671e19fbb300f6c9deac08cc5 | |
parent | 6dd775f57d2f94f0ddaee324aeec33b9b66ed5bc (diff) |
composite: Don't backfill non-MapWindow allocations
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
-rw-r--r-- | composite/compalloc.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/composite/compalloc.c b/composite/compalloc.c index 253acb31d..f0d868ed1 100644 --- a/composite/compalloc.c +++ b/composite/compalloc.c @@ -484,7 +484,7 @@ bgNoneVisitWindow(WindowPtr pWin, void *null) } static PixmapPtr -compNewPixmap (WindowPtr pWin, int x, int y, int w, int h) +compNewPixmap (WindowPtr pWin, int x, int y, int w, int h, Bool map) { ScreenPtr pScreen = pWin->drawable.pScreen; WindowPtr pParent = pWin->parent; @@ -499,6 +499,10 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h) pPixmap->screen_x = x; pPixmap->screen_y = y; + /* resize allocations will update later in compCopyWindow, not here */ + if (!map) + return pPixmap; + /* * If there's no bg=None in the tree, we're done. * @@ -580,7 +584,7 @@ compAllocPixmap (WindowPtr pWin) int y = pWin->drawable.y - bw; int w = pWin->drawable.width + (bw << 1); int h = pWin->drawable.height + (bw << 1); - PixmapPtr pPixmap = compNewPixmap (pWin, x, y, w, h); + PixmapPtr pPixmap = compNewPixmap (pWin, x, y, w, h, TRUE); CompWindowPtr cw = GetCompWindow (pWin); if (!pPixmap) @@ -654,7 +658,7 @@ compReallocPixmap (WindowPtr pWin, int draw_x, int draw_y, pix_h = h + (bw << 1); if (pix_w != pOld->drawable.width || pix_h != pOld->drawable.height) { - pNew = compNewPixmap (pWin, pix_x, pix_y, pix_w, pix_h); + pNew = compNewPixmap (pWin, pix_x, pix_y, pix_w, pix_h, FALSE); if (!pNew) return FALSE; cw->pOldPixmap = pOld; |