http://bugs.winehq.org/show_bug.cgi?id=9374
--- Comment #3 from Vincent Povirk madewokherd@gmail.com 2008-08-17 15:42:04 --- Here's what I think is happening:
- Ricochet Infinity calls IDirectDrawImpl_SetCooperativeLevel to change from fullscreen to windowed mode. - IDirectDrawImpl_SetCooperativeLevel calls IDirectDrawImpl_RestoreDisplayMode (which calls IDirectDrawImpl_SetDisplayModeNoOverride, which calls IDirectDrawImpl_SetDisplayMode) to change the screen size back to what it was originally. IDirectDrawImpl_SetDisplayMode changes the screen size back and, because directdraw is in fullscreen mode, resizes the window to fill the screen. - IDirectDrawImpl_SetCooperativeLevel changes the flags so that directdraw is in windowed mode, AFTER calling RestoreDisplayMode.