"make test" fails for me with:
bitmap.c:1113: Test failed: GetDIBits with 4 bpp DIB selected in DC: Invalid DIB bits bitmap.c:1113: Test failed: GetDIBits with 8 bpp DIB selected in DC: Invalid DIB bits err:x11drv:X11DRV_CreateBitmap Trying to make bitmap with planes=1, bpp=24 err:bitmap:DIB_GetBitmapInfo (39): unknown/wrong size for header err:bitmap:DIB_GetBitmapInfo (11): unknown/wrong size for header err:bitmap:DIB_GetBitmapInfo (13): unknown/wrong size for header err:bitmap:DIB_GetBitmapInfo (16): unknown/wrong size for header make[2]: *** [bitmap.ok] Error 2 make[2]: Leaving directory `/home/dank/wine-git/dlls/gdi32/tests'
I think this is new since I last ran the tests (at wineconf)...?
On Tue, 16 Oct 2007, Dan Kegel wrote:
"make test" fails for me with:
bitmap.c:1113: Test failed: GetDIBits with 4 bpp DIB selected in DC: Invalid DIB bits bitmap.c:1113: Test failed: GetDIBits with 8 bpp DIB selected in DC: Invalid DIB bits
I'm working on the above two. From my testing they only happen when X is in 16bpp mode (and probably 15bpp too). If I switch to 24bpp then all is fine. The reason is that dlls/winex11.drv/dib.c uses two types of color maps: * the first one contains RGBQUADs so in it white is (0xff, 0xff, 0xff, 0) * the second one maps an index to the corresponding X color (an int). So in 15bpp white would be 0x7fff.
The bug happens because the code casts the int* color map to the RGBQUAD* color map in many places so that it interprets 0x7fff as an RGBQUAD and thus returns the wrong color index.
err:x11drv:X11DRV_CreateBitmap Trying to make bitmap with planes=1, bpp=24 err:bitmap:DIB_GetBitmapInfo (39): unknown/wrong size for header err:bitmap:DIB_GetBitmapInfo (11): unknown/wrong size for header err:bitmap:DIB_GetBitmapInfo (13): unknown/wrong size for header err:bitmap:DIB_GetBitmapInfo (16): unknown/wrong size for header
I don't know anything about these however.
"Francois Gouget" fgouget@free.fr wrote:
err:x11drv:X11DRV_CreateBitmap Trying to make bitmap with planes=1, bpp=24 err:bitmap:DIB_GetBitmapInfo (39): unknown/wrong size for header err:bitmap:DIB_GetBitmapInfo (11): unknown/wrong size for header err:bitmap:DIB_GetBitmapInfo (13): unknown/wrong size for header err:bitmap:DIB_GetBitmapInfo (16): unknown/wrong size for header
I don't know anything about these however.
The test intentionally passes incorrect data to various APIs which leads to the above ERRs. Perhaps it's time to turn those ERRs to WARNs since the parts of the code they belong to are mature enough these days.