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


Reply via email to