At 03:53 PM 1/21/01 +0000, you wrote:
>Yes I wondered about that. The problem is, what is the Right Thing - fail the
>BitBlt operation? Also Alexandre mentioned a few days ago that he was not keen
>on rippling errors back up the function chain if nothing useful could be done at
>the top-level.
In this case it's an application bug so it's certainly a better option than
exiting Wine.
>On futher digging I wonder if I've found the root of the problem. The Win32 API
>says that DeleteObject() does not delete an object which is currently
>selected into a DC, and returns 0 in that case. Wine doesn't seem to
>carry out that check, and from the trace I posted earlier the DeleteObject() on
>the in-use bitmap returned 1.
I missed that :-(
You can try the following patch :
[Corrected] Poor Man's GDI Object Refcount
posted on 2000/01/15
It is addressing these issues.
But it will probably never be committed to cvs as it is, since it's (at least) failing
to special case regions :-/, so if you are using it your app may soon run out of
gdi space.
Gerard