[PATCH 1/2] composite: Don't backfill non-bg-None windows

Adam Jackson ajax at nwnk.net
Thu May 6 07:30:25 PDT 2010


On Wed, 2010-05-05 at 15:45 -0700, Keith Packard wrote:
> On Wed,  5 May 2010 16:25:28 -0400, Adam Jackson <ajax at redhat.com> wrote:
> 
> > +
> > +    /* if we don't need to backfill, we're done */
> > +    if (pWin->backgroundState != BackgroundPixmap)
> > +        return pPixmap;
> > +    if (pWin->background.pixmap != None)
> > +        return pPixmap;
> > +
> 
> Presumably this pixmap is being allocated for the window manager frame,
> not the application itself. This isn't looking at the background for the
> application, just the frame.

Oh, gross.  If I'm reading this right, miPaintWindow clips by children
(not IncludeInferiors, and called after map and validate), which means
if you map an entire subtree at once, the bg=None regions poke through.
Is that accurate?

I'm not totally convinced that's required by the protocol, but I can
imagine it being required by applications.  It's easy enough to check,
and the tree walk will almost certainly be faster than the blit.

- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg-devel/attachments/20100506/4312da8e/attachment.pgp>


More information about the xorg-devel mailing list