[PATCH] Revert "composite: Don't backfill non-MapWindow allocations"

Ville Syrjälä syrjala at sci.fi
Fri Jul 29 15:26:03 PDT 2011


On Thu, Jul 28, 2011 at 01:00:54PM -0700, Pierre-Loup A. Griffais wrote:
> Oops, initially got an outdated address for Ville. Properly CCing now; the idea 
> is that 193ecc8b453b22b3e6 breaks backfilling on resize if db8840600e8e213562 is 
> also applied.

The problem only affects bg=None windows, right?

Might be nice to get 6dd775f57d2f94f0ddaee324aeec33b9b66ed5bc back to
avoid the copy for bg!=None cases. But I suppose no-one has had the
time/incentive to look at the issue in more detail.

> 
> Thanks,
>   - Pierre-Loup
> 
> On 07/28/2011 12:58 PM, Pierre-Loup A. Griffais wrote:
> > This reverts commit db8840600e8e21356241eb87395031388d9b54d2.
> >
> > Conflicts:
> >
> > 	composite/compalloc.c
> > ---
> >   composite/compalloc.c |   10 +++-------
> >   1 files changed, 3 insertions(+), 7 deletions(-)
> >
> > diff --git a/composite/compalloc.c b/composite/compalloc.c
> > index 5c27631..841b2dc 100644
> > --- a/composite/compalloc.c
> > +++ b/composite/compalloc.c
> > @@ -557,7 +557,7 @@ compUnredirectOneSubwindow (WindowPtr pParent, WindowPtr pWin)
> >   }
> >
> >   static PixmapPtr
> > -compNewPixmap (WindowPtr pWin, int x, int y, int w, int h, Bool map)
> > +compNewPixmap (WindowPtr pWin, int x, int y, int w, int h)
> >   {
> >       ScreenPtr	    pScreen = pWin->drawable.pScreen;
> >       WindowPtr	    pParent = pWin->parent;
> > @@ -572,10 +572,6 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h, Bool map)
> >       pPixmap->screen_x = x;
> >       pPixmap->screen_y = y;
> >
> > -    /* resize allocations will update later in compCopyWindow, not here */
> > -    if (!map)
> > -	return pPixmap;
> > -
> >       if (pParent->drawable.depth == pWin->drawable.depth)
> >       {
> >   	GCPtr	pGC = GetScratchGC (pWin->drawable.depth, pScreen);
> > @@ -641,7 +637,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, TRUE);
> > +    PixmapPtr	    pPixmap = compNewPixmap (pWin, x, y, w, h);
> >       CompWindowPtr   cw = GetCompWindow (pWin);
> >
> >       if (!pPixmap)
> > @@ -713,7 +709,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, FALSE);
> > +	pNew = compNewPixmap (pWin, pix_x, pix_y, pix_w, pix_h);
> >   	if (!pNew)
> >   	    return FALSE;
> >   	cw->pOldPixmap = pOld;

-- 
Ville Syrjälä
syrjala at sci.fi
http://www.sci.fi/~syrjala/


More information about the xorg-devel mailing list