From 8a6f94ae95b2b91d8b3b249bca32beaabb5d5719 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Mon, 9 Sep 2024 20:31:49 +0200 Subject: [PATCH] only lock cursor if message was removed --- src/winapi_hooks.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/winapi_hooks.c b/src/winapi_hooks.c index 7bb85c0..019f2da 100644 --- a/src/winapi_hooks.c +++ b/src/winapi_hooks.c @@ -631,7 +631,7 @@ void HandleMessage(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMa case WM_RBUTTONUP: case WM_MBUTTONUP: { - if (!g_config.devmode && !g_mouse_locked) + if (!g_config.devmode && !g_mouse_locked && (wRemoveMsg & PM_REMOVE)) { InterlockedExchange((LONG*)&g_ddraw.cursor.x, GET_X_LPARAM(lpMsg->lParam)); InterlockedExchange((LONG*)&g_ddraw.cursor.y, GET_Y_LPARAM(lpMsg->lParam)); @@ -693,7 +693,7 @@ BOOL WINAPI fake_GetMessageA(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wM BOOL result = real_GetMessageA(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax); if (result) { - HandleMessage(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax, 0); + HandleMessage(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax, PM_REMOVE); } return result;