=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: wined3d: Filter messages for fullscreen mode changes.

Alexandre Julliard julliard at winehq.org
Tue Feb 28 03:45:56 CST 2017


Module: wine
Branch: oldstable
Commit: 67a83e5d919930fa5ddeded32d9ace9ddc80a483
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=67a83e5d919930fa5ddeded32d9ace9ddc80a483

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Tue Dec 13 13:10:38 2016 +0100

wined3d: Filter messages for fullscreen mode changes.

This fixes a regression introduced by commit
d9f8cba50f4c2fc9f138d35c73ba5afc30d15866.

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit e2e0c747a82bd9f8c095366b4457dda5a0cbc1f1)
Conflicts:
	dlls/wined3d/swapchain.c
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>

---

 dlls/d3d9/tests/device.c | 2 +-
 dlls/wined3d/device.c    | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c
index 072fbcb..5c40587 100644
--- a/dlls/d3d9/tests/device.c
+++ b/dlls/d3d9/tests/device.c
@@ -4132,7 +4132,7 @@ static void test_reset_fullscreen(void)
     ok(SUCCEEDED(reset_device(device, &device_desc)), "Failed to reset device.\n");
 
     flush_events();
-    todo_wine ok(!wm_size_received, "Received unexpected WM_SIZE message.\n");
+    ok(!wm_size_received, "Received unexpected WM_SIZE message.\n");
 
 cleanup:
     if (device) IDirect3DDevice9_Release(device);
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index b9ab347..305479b 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4648,6 +4648,7 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
         {
             if (swapchain->desc.windowed)
             {
+                /* Switch from windowed to fullscreen */
                 HWND focus_window = device->create_parms.focus_window;
                 if (!focus_window)
                     focus_window = swapchain_desc->device_window;
@@ -4657,7 +4658,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
                     return hr;
                 }
 
-                /* switch from windowed to fs */
                 wined3d_device_setup_fullscreen_window(device, swapchain->device_window,
                         swapchain_desc->backbuffer_width,
                         swapchain_desc->backbuffer_height);
@@ -4665,10 +4665,15 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
             else
             {
                 /* Fullscreen -> fullscreen mode change */
+                BOOL filter_messages = device->filter_messages;
+                device->filter_messages = TRUE;
+
                 MoveWindow(swapchain->device_window, 0, 0,
                         swapchain_desc->backbuffer_width,
                         swapchain_desc->backbuffer_height,
                         TRUE);
+
+                device->filter_messages = filter_messages;
             }
             swapchain->d3d_mode = m;
         }




More information about the wine-cvs mailing list