diff --git a/src/mouse.c b/src/mouse.c index 34ab4f9..9b43aa7 100644 --- a/src/mouse.c +++ b/src/mouse.c @@ -13,7 +13,7 @@ void mouse_lock() if (g_ddraw->devmode || g_ddraw->bnet_active) return; - if (g_hook_active && !g_ddraw->locked) + if (g_hook_active && !g_ddraw->locked && !IsIconic(g_ddraw->hwnd)) { int game_count = InterlockedExchangeAdd((LONG*)&g_ddraw->show_cursor_count, 0); int cur_count = real_ShowCursor(TRUE) - 1; diff --git a/src/wndproc.c b/src/wndproc.c index 230d050..795c819 100644 --- a/src/wndproc.c +++ b/src/wndproc.c @@ -500,6 +500,7 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam if (g_ddraw->renderer != d3d9_render_main) { ChangeDisplaySettings(&g_ddraw->render.mode, CDS_FULLSCREEN); + real_ShowWindow(g_ddraw->hwnd, SW_RESTORE); mouse_lock(); } }