http://bugs.winehq.org/show_bug.cgi?id=2082
--- Comment #131 from Henri Verbeet hverbeet@gmail.com --- (In reply to comment #125)
I think that Stefan was on the right path. I think that, when ddraw/wined3d goes to set up window A for full-screen, it should not attempt to change the Win32 window. I think it needs to work with the user driver to set up a full-screen OpenGL surface that's outside of the Win32 window hierarchy. This surface would have to avoid interfering with mouse events. Those should still be delivered to whatever Win32 window is under the cursor.
More or less. We have tests that show that setting a fullscreen / exclusive cooperative level shouldn't mess with the window styles. E.g. test_window_style() in ddraw/tests/ddraw7.c. We also have tests that show that switching to fullscreen does have an effect on e.g. window dimensions, z-order and focus.
The proper mechanism for communicating with the user / GL driver is probably a WGL extension, somewhat similar to how we currently have WGL_WINE_pixel_format_passthrough for resetting the pixel format. (Although that specific extension has some issues.)