https://bugs.winehq.org/show_bug.cgi?id=50370
Michael B toxatec@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gabrielopcode@gmail.com, | |toxatec@web.de
--- Comment #2 from Michael B toxatec@web.de --- I dug around a bit to see if I can help. Now at least I know it's a little complicated.
I think this is the call stack where something is missing (not where the window would appear, that seems to come later):
=> user32:SetWindowPos(.., flags) # here the SWP_SHOWWINDOW flag is not set d3d:wined3d_swapchain_state_setup_fullscreen() d3d:wined3d_device_reset() ddraw:ddraw7_CreateSurface() GOTHIC.EXE
So first, WINED3D_SWAPCHAIN_NO_WINDOW_CHANGES is not being set in ddraw:ddraw_attach_d3d_device() since commit f90d607c67768f19e36d9d74b498594252faa3fd
As a result, in d3d:wined3d_swapchain_state_setup_fullscreen(), SWP_SHOWWINDOW is not being set in the flags passed to user32:SetWindowPos(), a check introduced in the preceding commit e041ff1f91f2143c9710b70cbdc128c9a40e7a09
I'm not sure what SetWindowPos() does with that flag, but when I use winedbg to sneak it in before it is called by wined3d_swapchain_state_setup_fullscreen() or just revert e041ff1f91f2143c9710b70cbdc128c9a40e7a09, the window will appear.