Am Donnerstag 29 Juni 2006 16:43 schrieb Krzysztof Benkowski:
Hello, In the latest version of wine (0.9.16) there is a regression which makes Dune 2000 crash. After some debugging i found that the problem lays in IDirectDrawSurfaceImpl_Release method. The game (Dune 2000) shows that the assumption that all attached surfaces should be destroyed regardless of their refcount is wrong.
After a long google session I found a downloadable demo, but I can't reproduce the bug. The game starts fine and I can play just fine. The game doesn't clean up properly, it doesn't release the front buffer(stays at refcount 1), and of course the back buffer is left with refcount 2. The cleanup code in dllMain releases both surfaces and the directdraw interface.
I noticed that 8 bit graphics do not work.
Can you make sure that you have updated to the latest git code and mail me a +ddraw trace if the problem still occurs?
Stefan