On Mon, 27 Dec 2010 14:40:14 +0000, Daniel Stone <[email protected]> wrote:
> Hi,
> 
> On Mon, Dec 27, 2010 at 03:24:13PM +0200, [email protected] wrote:
> > +void
> > +compRestoreWindow (WindowPtr pWin, PixmapPtr pPixmap)
> > +{
> > +    ScreenPtr pScreen = pWin->drawable.pScreen;
> > +    WindowPtr pParent = pWin->parent;
> > +
> > +    if (pParent->drawable.depth == pWin->drawable.depth) {
> > +   GCPtr pGC = GetScratchGC (pWin->drawable.depth, pScreen);
> > +   int bw = (int) pWin->borderWidth;
> > +   int x = bw;
> > +   int y = bw;
> > +   int w = pWin->drawable.width;
> > +   int h = pWin->drawable.height;
> > +
> > +   if (pGC) {
> > +       ChangeGCVal val;
> > +       val.val = IncludeInferiors;
> > +       ChangeGC (NullClient, pGC, GCSubwindowMode, &val);
> > +       ValidateGC(&pWin->drawable, pGC);
> > +       (*pGC->ops->CopyArea) (&pPixmap->drawable,
> > +                              &pWin->drawable,
> > +                              pGC,
> > +                              x, y, w, h, 0, 0);
> > +       FreeScratchGC (pGC);
> > +   }
> > +    }
> > +}
> 
> It might be nice to get the Render fallback path for non-matching depths
> here; aside from that, for the entire series:

What's confusing here is that there is a test for matching depth, but
no 'else' branch to cover the other case. I don't think this test is
needed as the pixmap was the previous window pixmap, and depths for that
must match the window depth. If that wasn't the case, then all
drawing to windows would fail, as Pictures and GCs are validated against
the depth of the window, not the pixmap.

Seems like simply removing the test would be fine; it's not like you're
requiring some new invariant in the code here.

(otherwise, this patch sequence is gonna be nice to merge :-)

-- 
[email protected]

Attachment: pgpx1tLllXWIX.pgp
Description: PGP signature

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to