From aca2ca707102d7fb8f43952c7071e8dacc35f39e Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Sat, 27 Nov 2021 17:38:22 +0100 Subject: [PATCH] fix cursor lock on alt+tab (cherry picked from commit 6a38496bf76fea3a84087a9a3fd66d2911900fa1) --- src/mouse.c | 2 +- src/wndproc.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) 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(); } }