put-image
fails when display's pixmaps have depth different than their bits-per-pixel value
#77
Labels
put-image
fails when display's pixmaps have depth different than their bits-per-pixel value
#77
During work on a CLIM implementation I encountered the following problem with xlib: doing a
PUT-IMAGE
on anIMAGE-Z
fails with a condition of:"The bits-per-pixel of the image #<XLIB:IMAGE-Z 12x12x24> does not match any server pixmap format."
.My current theory is that the error happens because, within the code of
PUT-IMAGE
, thepixmap-format
found by depth(find depth (display-pixmap-formats display) :key #'pixmap-format-depth)
is one with depth 24 and bpp of 32, and the latter is not equal to the expected 24 of(image-z-bits-per-pixel image)
.There's a comment in
PUT-IMAGE
that seems relevant:I wonder what exactly is the work needed here and how much effort would it take to make
PUT-IMAGE
work with this case.Details
The issue was found on recent SBCL versions running on Ubuntu 16.04 (native) and on Ubuntu 14.04 (in VM), running both stock window manager and StumpWM.
Relevant object details:
IMAGE-Z
object:PIXMAP-FORMATS
slot from theDISPLAY
object referenced byPIXMAP
object found in the stack trace:I might be able to provide a simple reproducible test case after 2017-07-10. In the meantime, see this for more context.
The text was updated successfully, but these errors were encountered: