From 88b5b56b6a67d93208eae3980af2f30da09dd8ae Mon Sep 17 00:00:00 2001 From: SineStriker <trueful@163.com> Date: 周三, 27 12月 2023 01:10:59 +0800 Subject: [PATCH] Add notification observer on Mac --- src/core/contexts/win32windowcontext.cpp | 17 +++++++---------- 1 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/core/contexts/win32windowcontext.cpp b/src/core/contexts/win32windowcontext.cpp index 84a085d..dfbf2e2 100644 --- a/src/core/contexts/win32windowcontext.cpp +++ b/src/core/contexts/win32windowcontext.cpp @@ -46,13 +46,13 @@ static WNDPROC g_qtWindowProc = nullptr; static inline bool -#if !QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDER) +#if !QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDERS) constexpr #endif isSystemBorderEnabled() { return -#if QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDER) +#if QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDERS) isWin10OrGreater() #else false @@ -401,8 +401,8 @@ return false; } - static WindowsNativeEventFilter *instance; - static Win32WindowContext *lastMessageContext; + static inline WindowsNativeEventFilter *instance = nullptr; + static inline Win32WindowContext *lastMessageContext = nullptr; static inline void install() { if (instance) { @@ -419,9 +419,6 @@ instance = nullptr; } }; - - WindowsNativeEventFilter *WindowsNativeEventFilter::instance = nullptr; - Win32WindowContext *WindowsNativeEventFilter::lastMessageContext = nullptr; // https://github.com/qt/qtbase/blob/e26a87f1ecc40bc8c6aa5b889fce67410a57a702/src/plugins/platforms/windows/qwindowscontext.cpp#L1025 // We can see from the source code that Qt will filter out some messages first and then send the @@ -606,7 +603,7 @@ } case DrawWindows10BorderHook: { -#if QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDER) +#if QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDERS) if (!windowId) return; @@ -651,7 +648,7 @@ } case DrawWindows10BorderHook2: { -#if QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDER) +#if QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDERS) if (!m_windowHandle) return; @@ -729,7 +726,7 @@ { auto style = ::GetWindowLongPtrW(hWnd, GWL_STYLE); -#if QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDER) +#if QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDERS) ::SetWindowLongPtrW(hWnd, GWL_STYLE, style & (~WS_SYSMENU)); #else ::SetWindowLongPtrW(hWnd, GWL_STYLE, -- Gitblit v1.9.1