From e9999fa61ea0ffa602c69e10e54996b3a636a5e6 Mon Sep 17 00:00:00 2001 From: Yuhang Zhao <2546789017@qq.com> Date: 周五, 09 5月 2025 16:03:45 +0800 Subject: [PATCH] fix window reopen issue (#179) --- src/core/contexts/win32windowcontext.cpp | 18 +++++++++++++++++- 1 files changed, 17 insertions(+), 1 deletions(-) diff --git a/src/core/contexts/win32windowcontext.cpp b/src/core/contexts/win32windowcontext.cpp index 0d70129..e155d3d 100644 --- a/src/core/contexts/win32windowcontext.cpp +++ b/src/core/contexts/win32windowcontext.cpp @@ -41,6 +41,10 @@ # define DWM_BB_ENABLE 0x00000001 #endif +#ifndef ABM_GETAUTOHIDEBAREX +# define ABM_GETAUTOHIDEBAREX 0x0000000b +#endif + namespace QWK { enum IconButtonClickLevelFlag { @@ -1905,6 +1909,18 @@ break; } + case WM_SHOWWINDOW: { + if (!wParam || !isWindowNoState(hWnd) || isFullScreen(hWnd)) { + break; + } + RECT windowRect{}; + ::GetWindowRect(hWnd, &windowRect); + static constexpr const auto swpFlags = SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED | SWP_NOOWNERZORDER; + ::SetWindowPos(hWnd, nullptr, 0, 0, RECT_WIDTH(windowRect) + 1, RECT_HEIGHT(windowRect) + 1, swpFlags); + ::SetWindowPos(hWnd, nullptr, 0, 0, RECT_WIDTH(windowRect), RECT_HEIGHT(windowRect), swpFlags); + break; + } + default: break; } @@ -2325,7 +2341,7 @@ if (!mouseHook) { mouseHook = ::SetWindowsHookExW( WH_MOUSE, - [](int nCode, WPARAM wParam, LPARAM lParam) { + [](int nCode, WPARAM wParam, LPARAM lParam) -> LRESULT { if (nCode >= 0) { switch (wParam) { case WM_LBUTTONDBLCLK: -- Gitblit v1.9.1