From 009bc4e2e8daab1f4b72af4abb303e5c363cb222 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Mon, 27 May 2024 04:34:28 +0200 Subject: [PATCH] send WM_ACTIVATEAPP only once --- inc/wndproc.h | 1 - src/dd.c | 5 ++++- src/wndproc.c | 9 ++------- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/inc/wndproc.h b/inc/wndproc.h index f066a04..3cb6a97 100644 --- a/inc/wndproc.h +++ b/inc/wndproc.h @@ -9,7 +9,6 @@ #define WM_DISPLAYCHANGE_DDRAW WM_APP+116 #define WM_TOGGLE_FULLSCREEN WM_APP+117 #define WM_TOGGLE_MAXIMIZE WM_APP+118 -#define WM_ACTIVATEAPP_DDRAW WM_APP+119 #define IDT_TIMER_LEAVE_BNET 541287654 diff --git a/src/dd.c b/src/dd.c index 709414f..d12355d 100644 --- a/src/dd.c +++ b/src/dd.c @@ -1004,7 +1004,10 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl if (lock_mouse || (g_config.fullscreen && real_GetForegroundWindow() == g_ddraw.hwnd)) mouse_lock(); - real_SendMessageA(g_ddraw.hwnd, WM_ACTIVATEAPP_DDRAW, 1, 0); + if (dwFlags & SDM_MODE_SET_BY_GAME) + { + real_SendMessageA(g_ddraw.hwnd, WM_ACTIVATEAPP, 1, 0); + } } else { diff --git a/src/wndproc.c b/src/wndproc.c index 4b80ecb..9ce3a43 100644 --- a/src/wndproc.c +++ b/src/wndproc.c @@ -175,11 +175,6 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam uMsg = WM_DISPLAYCHANGE; break; } - case WM_ACTIVATEAPP_DDRAW: - { - uMsg = WM_ACTIVATEAPP; - break; - } case WM_D3D9DEVICELOST: { if (((!g_config.windowed && !g_config.nonexclusive) || !util_is_minimized(g_ddraw.hwnd)) && @@ -672,10 +667,10 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam if (g_config.windowed || g_config.noactivateapp) { - /* let it pass through once (tiberian sun) */ + /* let it pass through once (tiberian sun / ClueFinders) */ static BOOL one_time; - if (wParam && !one_time && g_config.tshack) + if (wParam && !one_time) { one_time = TRUE; break;