http://bugs.winehq.org/show_bug.cgi?id=20598
--- Comment #27 from BD bad_dude32065@yahoo.com 2010-01-09 14:11:29 --- (In reply to comment #26)
Still not fixed in wine-1.1.35-439-g2f529c3.
not working in wine-1.1.36 either but i think i have a fix if anyone wants to confirm it. reversing 2 statements in dib.c makes it work.
original non working section in dib.c:
INT WINAPI SetDIBits( HDC hdc, HBITMAP hbitmap, UINT startscan, UINT lines, LPCVOID bits, const BITMAPINFO *info, UINT coloruse ) { DC *dc; BITMAPOBJ *bitmap; INT result = 0;
if (coloruse == DIB_RGB_COLORS) hdc = CreateCompatibleDC(0);
if (!(dc = get_dc_ptr( hdc ))) return 0;
update_dc( dc );
changed and working dib.c:
INT WINAPI SetDIBits( HDC hdc, HBITMAP hbitmap, UINT startscan, UINT lines, LPCVOID bits, const BITMAPINFO *info, UINT coloruse ) { DC *dc; BITMAPOBJ *bitmap; INT result = 0;
if (!(dc = get_dc_ptr( hdc ))) return 0;
if (coloruse == DIB_RGB_COLORS) hdc = CreateCompatibleDC(0);
update_dc( dc );
hopefully this has it fixed for all.