[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