support for the DOUBLE-BUFFER extension to the Xprint server and DDX.
Additionally a "pixmap-scrubber" optimisation is added to the
PostScript DDX to remove all content from a vector pixmap when a
|PolyFillRect()| call covers the whole pixmap surface with a solid fill
(this avoids that a backbuffer vector pixmap gets constantly filled
even when the content is not visible anymore after |XdbeSwapBuffers()|
has cleared the hidden buffer with the background color).
on AMD64, regression caused by bug 1496 ("Xorg Xprt does not support
"*xp-listfonts-mode: xp-list-internal-printer-fonts" to toggle the
usage of printer-builtin fonts").
producing spurious characters in PS output when using the bitmap cache
(Originally reported against Solaris Xprt as Sun bug id #4369307, and
fixed in Solaris by Jay Hobson.
visuals to the Postscript DDX (8bit GrayScale/StaticGray, 1bit
StaticGray and the basic infratructure for "deep" visuals with more
than 8bits per RGB gun).
font handling which did not support "*xp-listfonts-modes:
xp-list-internal-printer-fonts" or "*xp-listfonts-modes:
xp-list-glyph-fonts" to toggle the usage of printer-builtin and glyph
fonts in XListFonts*(), XLoad*Font(), etc. Additionally the Xprint DDX
now explicitly list "xp-listfonts-modes" in
"document-attributes-supported" (for document-level) or
"xp-page-attributes-supported" (for page-level) when the DDX implements
this feature (as described in the CDE DtPrint specification).
for the issue that GetPrinterList does not return printer descriptions
on Solaris. The patch implements a framework which allows the printer
enumerator scripts to pass additional printer attributes to the
information pool (currently only "xp-printerattr.descriptor" is
implemented).
previous solution and make Xprt to default to "-noreset" (the default
of Solaris version of Xprt) and add a "-reset" option which can be used
to restore the default behaviour on demand.
("Can not print on Debian/CUPS due to error |Xprt_64:lpr: unable to
print file: server-error-not-accepting-jobs|"): Xprt did not setup the
list of supplementary group ids, causing print failure when the the
calling user must be a member in a specific group to be allowed to
print.