http://bugs.winehq.org/show_bug.cgi?id=24695
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefandoesinger@gmx.at
--- Comment #5 from Stefan Dösinger stefandoesinger@gmx.at 2011-08-15 14:46:26 CDT --- The problem is that Saira calls Direct3DDevice9::Reset and sets a new device window. The device window happens to be the same window as the already assigned focus window, but is different from the old device window.
Wined3d currently ignores this, and tries to configure the old device window for fullscreen mode. In doing so, it changes the window size, which sends a WM_SIZE message to the window. When the app receives the message it thinks you changed the window size and calls Reset again. On re-entry the function crashes because some resources have already been deleted(namely the blit backend's private data).
The correct fix is to use the new device window. Because it is equal to the focus window, the WM_SIZE message is filtered, and Saira doesn't call Reset again.