Request for review: [PATCH] Resize fullscreen window when DirectDraw changes the display mode [resubmit 4]

Stefan Dösinger stefandoesinger at
Tue Aug 11 20:05:43 CDT 2009

Am Tuesday 11 August 2009 23:43:33 schrieb Johan Gill:
> There is IWineD3DDeviceImpl_SetupFullscreenWindow, but that one is not
> exported so it can't be called from ddraw as it is.
> Calling it from within IWineD3DDevice_SetDisplayMode seems troublesome
> since the hwnd to use is not always available in the WineD3DDevice. See for
> instance this example from CreateSwapChain:
Hmm, this entire problem is pretty tricky, and it goes beyond ddraw. We have 
to attack the broader set of problems.

For starts, we need a few tests to find out

*) Does ddraw change the window params at all, and if yes, when(your test 
already answers part of that).
*) How does restoredisplaymode behave
*) Does ddraw restore the display mode on SetCooperativeLevel(DDSCL_NORMAL)
*) Does ddraw restore the display mode on ddraw device release? On primary 
surface release?
*) Who restores the display mode on app exit if the ddraw iface is not 
released? What happens with the window in that case?
*) Who restores the display mode on an app crash?
*) How does User32.ChangeDisplaySettingsEx FULLSCREEN flag(= temporary mode 
change) work?
*) What happens if two different apps set conflicting FULLSCREEN modes?
*) How does the CDS FULLSCREEN flag affect the window?

And I am sure more questions will arise during the testing process

More information about the wine-devel mailing list