[Bug 20380] Heroes of Might and Magic III hangs

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Feb 10 05:05:37 CST 2010


http://bugs.winehq.org/show_bug.cgi?id=20380





--- Comment #70 from Roderick Colenbrander <thunderbird2k at gmail.com>  2010-02-10 05:05:36 ---
(In reply to comment #69)
> Created an attachment (id=26172)
 --> (http://bugs.winehq.org/attachment.cgi?id=26172) [details]
> patch
> 
> (In reply to comment #68)
> Great thanks for explanations.
> Now i see - this is correct behavior and not a bug.
> But i think that generating a lot of exceptions is not a very good idea.
> At least in places where we may avoid access violations -
> IWineD3DBaseSurfaceImpl_Blt() is the case for Homm3.
> The first patch wasn't quite correct (it will degrade performance) but after
> applying it the game works :)
> Here the second patch - to avoid exceptions in IWineD3DBaseSurfaceImpl_Blt().
> And again, though there likely a bug in Homm3 (which i will try to find), the
> game works.

You have to figure out why SurfaceImpl_Blt doesn't like the dibsection
exceptions. It is the way the majority of all windows apps perform rendering
using GDI. WineD3D is in this sense just a basic GDI app and basically the Blt
call stalls until the exception has been resolved. Later on in
x11_copy_to_screen we use GDI BitBlt to draw to the window.

This bug is very, very tricky. Personally I'm not convinced that
SurfaceImpl_Blt is wrong. Have you investigated whether Homm3 isn't calling
Lock directly? In that case we would directly expose the dibsection its memory
to the game (some games have buggy code which messes up the exception
handling).

Myself I think the issue is something somehow timing related. Perhaps somewhere
the winex11_tsx11_lock code is missing or so.

Roderick

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list