diff --git a/src/dd.c b/src/dd.c index 2096b72..d810611 100644 --- a/src/dd.c +++ b/src/dd.c @@ -716,7 +716,7 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl if (!g_ddraw->wine) { MSG msg; /* workaround for "Not Responding" window problem in cnc games */ - real_PeekMessageA(&msg, g_ddraw->hwnd, 0, 0, PM_NOREMOVE); + real_PeekMessageA(&msg, g_ddraw->hwnd, 0, 0, PM_NOREMOVE | PM_QS_INPUT); } if (!border) diff --git a/src/wndproc.c b/src/wndproc.c index 48be32d..00e1514 100644 --- a/src/wndproc.c +++ b/src/wndproc.c @@ -412,7 +412,7 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam util_update_bnet_pos(x, y); } - if (in_size_move || (g_ddraw->wine && !g_ddraw->fullscreen)) + if (in_size_move || (g_ddraw->wine && !g_ddraw->fullscreen && g_ddraw->render.thread)) { if (x != -32000) g_config.window_rect.left = x; /* -32000 = Exit/Minimize */