[PATCH 7/8] wined3d: Use the same style changes as native DXGI.
Rémi Bernon
rbernon at codeweavers.com
Wed Mar 11 09:36:33 CDT 2020
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
dlls/dxgi/tests/dxgi.c | 4 ++--
dlls/wined3d/swapchain.c | 22 ++--------------------
2 files changed, 4 insertions(+), 22 deletions(-)
diff --git a/dlls/dxgi/tests/dxgi.c b/dlls/dxgi/tests/dxgi.c
index d0d521f069c..44666515d19 100644
--- a/dlls/dxgi/tests/dxgi.c
+++ b/dlls/dxgi/tests/dxgi.c
@@ -5403,7 +5403,7 @@ static void test_swapchain_window_styles(void)
{
style = GetWindowLongA(swapchain_desc.OutputWindow, GWL_STYLE);
exstyle = GetWindowLongA(swapchain_desc.OutputWindow, GWL_EXSTYLE);
- todo_wine
+ todo_wine_if(!(tests[i].expected_style & WS_VISIBLE))
ok(style == fullscreen_style, "Test %u: Got style %#x, expected %#x.\n",
i, style, fullscreen_style);
ok(exstyle == fullscreen_exstyle, "Test %u: Got exstyle %#x, expected %#x.\n",
@@ -5434,7 +5434,7 @@ static void test_swapchain_window_styles(void)
{
style = GetWindowLongA(swapchain_desc.OutputWindow, GWL_STYLE);
exstyle = GetWindowLongA(swapchain_desc.OutputWindow, GWL_EXSTYLE);
- todo_wine
+ todo_wine_if(!(tests[i].expected_style & WS_VISIBLE))
ok(style == fullscreen_style, "Test %u: Got style %#x, expected %#x.\n",
i, style, fullscreen_style);
ok(exstyle == fullscreen_exstyle, "Test %u: Got exstyle %#x, expected %#x.\n",
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index ad91f506cc1..49f30792a7a 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -1524,28 +1524,10 @@ HRESULT CDECL wined3d_swapchain_state_resize_target(struct wined3d_swapchain_sta
return WINED3D_OK;
}
-static LONG fullscreen_style(LONG style)
-{
- /* Make sure the window is managed, otherwise we won't get keyboard input. */
- style |= WS_POPUP | WS_SYSMENU;
- style &= ~(WS_CAPTION | WS_THICKFRAME);
-
- return style;
-}
-
-static LONG fullscreen_exstyle(LONG exstyle)
-{
- /* Filter out window decorations. */
- exstyle &= ~(WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE);
-
- return exstyle;
-}
-
HRESULT wined3d_swapchain_state_setup_fullscreen(struct wined3d_swapchain_state *state,
HWND window, unsigned int w, unsigned int h)
{
unsigned int window_pos_flags = SWP_SHOWWINDOW | SWP_NOACTIVATE;
- LONG style, exstyle;
BOOL filter;
TRACE("Setting up window %p for fullscreen mode.\n", window);
@@ -1569,8 +1551,8 @@ HRESULT wined3d_swapchain_state_setup_fullscreen(struct wined3d_swapchain_state
if (!(state->desc.flags & WINED3D_SWAPCHAIN_NO_STYLE_CHANGES))
{
- style = fullscreen_style(state->style);
- exstyle = fullscreen_exstyle(state->exstyle);
+ LONG style = state->style & ~(WS_POPUP | WS_MAXIMIZEBOX | WS_MINIMIZEBOX | WS_THICKFRAME | WS_SYSMENU | WS_DLGFRAME | WS_BORDER);
+ LONG exstyle = state->exstyle & ~(WS_EX_DLGMODALFRAME | WS_EX_TOOLWINDOW | WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE | WS_EX_CONTEXTHELP);
TRACE("Old style was %08x, %08x, setting to %08x, %08x.\n",
state->style, state->exstyle, style, exstyle);
--
2.25.0
More information about the wine-devel
mailing list