Alex Villacís Lasso <[EMAIL PROTECTED]> writes: > So, when metafiles are involved, this sequence of calls triggers the > debug assertion in CreateCompatibleDC(). Since I don't really see the > point of having the assertion in CreateCompatibleDC(), I was planning > to send a patch to simply remove the assertion. However, the assertion > must be there for a reason (debug a deadlock, maybe), so I thought I > would check with others with more experience in GDI. If this assertion > has to stay, then the metafile functions should be reworked to remove > calls to GetDIBits or any other GDI calls that check the assertion. In > fact, any GDI call that uses CreateDC[AW], CreateCompatibleDC or > DeleteDC must not be called with the GDI lock held, because of the > debug assertion.
Yes, and the assertion should remain there. The real bug is that GetDIBits creates a new DC, it shouldn't need to do that. -- Alexandre Julliard [EMAIL PROTECTED]
