Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de writes:
CreateDIBitmap is called with the HDC lock hold, and when the (fColor) clause is true, CreateDCA() checks that the lock is not hold. A laymans approach to release hdc before CreateDCA() and reopen it afterwards resulted in this report asr startup, with no visual output:
I don't think we should be using CreateDC at all in CreateDIBitmap. Could you try this?
Index: objects/dib.c =================================================================== RCS file: /opt/cvs-commit/wine/objects/dib.c,v retrieving revision 1.59 diff -u -r1.59 dib.c --- objects/dib.c 2001/08/15 23:33:20 1.59 +++ objects/dib.c 2001/08/16 21:08:12 @@ -875,12 +875,7 @@
/* Now create the bitmap */
- if (fColor) - { - HDC tmpdc = CreateDCA( "DISPLAY", NULL, NULL, NULL ); - handle = CreateCompatibleBitmap( tmpdc, width, height ); - DeleteDC( tmpdc ); - } + if (fColor) handle = CreateCompatibleBitmap( hdc, width, height ); else handle = CreateBitmap( width, height, 1, 1, NULL );
if (!handle) return 0;