[PATCH 2/2] wined3d: Turn off message filtering temporarily in the Reset() method to allow certain messages (e.g. WM_ACTIVATEAPP) through.

John Edmonds pocketcookies2 at gmail.com
Mon May 2 06:18:04 CDT 2011


Toki Tori and RUSH both depend on receing WM_ACTIVATEAPP before they will start. These messages are currently getting filtered out.
This resolves bug #25640.
---
 dlls/d3d9/tests/device.c |    2 +-
 dlls/wined3d/device.c    |    3 +++
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c
index 9e4dea5..ffe49d8 100644
--- a/dlls/d3d9/tests/device.c
+++ b/dlls/d3d9/tests/device.c
@@ -2851,7 +2851,7 @@ static void test_reset_fullscreen(void)
         TranslateMessage(&msg);
         DispatchMessage(&msg);
     }
-    todo_wine ok(expect_messages->message == 0, "Expected to receive message %#x.\n", expect_messages->message);
+    ok(expect_messages->message == 0, "Expected to receive message %#x.\n", expect_messages->message);
     expect_messages = NULL;
 
     IDirect3DDevice9_Release(device);
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index f2bc93f..5cb47be 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -6555,12 +6555,15 @@ static HRESULT WINAPI IWineD3DDeviceImpl_Reset(IWineD3DDevice *iface,
             {
                 HWND focus_window = This->createParms.hFocusWindow;
                 if (!focus_window) focus_window = pPresentationParameters->hDeviceWindow;
+                /*Allow messages (such as WM_ACTIVATEAPP) through.*/
+                This->filter_messages = filter;
                 if (FAILED(hr = IWineD3DDevice_AcquireFocusWindow(iface, focus_window)))
                 {
                     ERR("Failed to acquire focus window, hr %#x.\n", hr);
                     wined3d_swapchain_decref(swapchain);
                     return hr;
                 }
+                This->filter_messages = TRUE;
 
                 /* switch from windowed to fs */
                 IWineD3DDevice_SetupFullscreenWindow(iface, swapchain->device_window,
-- 
1.7.4.1





More information about the wine-patches mailing list