From 4e7058084d51193e3c975bcddbe749e7fd29e356 Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: 周日, 19 5月 2024 23:29:49 +0800 Subject: [PATCH] Add check of maximum button hint --- src/core/contexts/cocoawindowcontext.mm | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/core/contexts/cocoawindowcontext.mm b/src/core/contexts/cocoawindowcontext.mm index c26ccfa..9b9e009 100644 --- a/src/core/contexts/cocoawindowcontext.mm +++ b/src/core/contexts/cocoawindowcontext.mm @@ -510,7 +510,7 @@ static inline void releaseWindowProxy(const WId windowId) { if (auto proxy = g_proxyList->take(windowId)) { // TODO: Determine if the window is valid - + // The window has been destroyed // proxy->setSystemTitleBarVisible(true); delete proxy; @@ -633,10 +633,11 @@ } case QEvent::MouseButtonDblClick: { - if (me->button() == Qt::LeftButton && inTitleBar && - !delegate->isHostSizeFixed(host)) { + if (me->button() == Qt::LeftButton && inTitleBar && !m_context->isHostSizeFixed()) { + Qt::WindowFlags windowFlags = delegate->getWindowFlags(host); Qt::WindowStates windowState = delegate->getWindowState(host); - if (!(windowState & Qt::WindowFullScreen)) { + if ((windowFlags & Qt::WindowMaximizeButtonHint) && + !(windowState & Qt::WindowFullScreen)) { if (windowState & Qt::WindowMaximized) { delegate->setWindowState(host, windowState & ~Qt::WindowMaximized); } else { -- Gitblit v1.9.1