From 1095dbd2fe58a73fcc086b874891bdc879a34d4d Mon Sep 17 00:00:00 2001 From: SineStriker <trueful@163.com> Date: 周一, 18 12月 2023 14:36:08 +0800 Subject: [PATCH] minor tweaks --- src/core/contexts/cocoawindowcontext.mm | 6 ++++-- src/core/contexts/win32windowcontext.cpp | 9 +++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/core/contexts/cocoawindowcontext.mm b/src/core/contexts/cocoawindowcontext.mm index 614f055..952fda9 100644 --- a/src/core/contexts/cocoawindowcontext.mm +++ b/src/core/contexts/cocoawindowcontext.mm @@ -383,9 +383,11 @@ } void CocoaWindowContext::winIdChanged(QWindow *oldWindow) { - if (windowId) { - releaseWindowProxy(windowId); + releaseWindowProxy(windowId); + if (!m_windowHandle) { + return; } + windowId = m_windowHandle->winId(); ensureWindowProxy(windowId)->setSystemTitleBarVisible(false); cocoaWindowEventFilter = std::make_unique<CocoaWindowEventFilter>(this, this); diff --git a/src/core/contexts/win32windowcontext.cpp b/src/core/contexts/win32windowcontext.cpp index cda9058..2a6ee76 100644 --- a/src/core/contexts/win32windowcontext.cpp +++ b/src/core/contexts/win32windowcontext.cpp @@ -117,7 +117,7 @@ private: DynamicApis() { #define DYNAMIC_API_RESOLVE(DLL, NAME) \ - p##NAME = reinterpret_cast<decltype(p##NAME)>(DLL.resolve(#NAME)) + p##NAME = reinterpret_cast<decltype(p##NAME)>(DLL.resolve(#NAME)) QSystemLibrary user32(QStringLiteral("user32")); DYNAMIC_API_RESOLVE(user32, GetDpiForWindow); @@ -332,7 +332,7 @@ static inline quint32 getDpiForWindow(HWND hwnd) { const DynamicApis &apis = DynamicApis::instance(); - if (apis.pGetDpiForWindow) { // Win10 + if (apis.pGetDpiForWindow) { // Win10 return apis.pGetDpiForWindow(hwnd); } else if (apis.pGetDpiForMonitor) { // Win8.1 HMONITOR monitor = ::MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST); @@ -893,10 +893,7 @@ } void Win32WindowContext::winIdChanged(QWindow *oldWindow) { - if (oldWindow) { - removeManagedWindow(reinterpret_cast<HWND>(windowId)); - } - + removeManagedWindow(reinterpret_cast<HWND>(windowId)); if (!m_windowHandle) { return; } -- Gitblit v1.9.1