On Mon, Dec 27, 2010 at 02:40:14PM +0000, ext Daniel Stone 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;

AFAICS that shouldn't be needed as unredirecting a non-matching depth
window would always result in an implicit redirection.

-- 
Ville Syrjälä
_______________________________________________
[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