XSetBackgroundPixmap question

Adam Jackson ajax at redhat.com
Mon May 21 07:16:50 PDT 2012


On Sat, 2012-05-19 at 23:00 +0100, Glynn Clements wrote:

> I've encountered code which uses a background pixmap to implement a
> persistent screen, and drawing to the pixmap then calling XClearWindow
> (without calling XSetWindowBackgroundPixmap in between) results in the
> updated pixmap contents appearing in the window. So it appears to use
> reference counting or similar.

Any code which does this is being inadvisably friendly with the
implementation.  From the protocol spec:

    Subsequent drawing into the background or border pixmap has an
    undefined effect on the window state. The server might or might
    not make a copy of the pixmap.

The sample implementation (at least at the dix level) has always done
the current behaviour of taking a reference on the pixmap, but the
sample implementation is not the only X server ever written.

- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg/attachments/20120521/01c2e903/attachment.pgp>


More information about the xorg mailing list