From c3ef42dad254f6d04cab521c9ae619a46bb84f7a Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 摹曛, 21 11月 2024 21:17:32 +0800
Subject: [PATCH] Fix #151 and a crash bug related to sub frameless window

---
 src/quick/quickwindowagent.cpp |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/quick/quickwindowagent.cpp b/src/quick/quickwindowagent.cpp
index 32ed68f..9270311 100644
--- a/src/quick/quickwindowagent.cpp
+++ b/src/quick/quickwindowagent.cpp
@@ -50,6 +50,12 @@
 #if defined(Q_OS_WINDOWS) && QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDERS)
         d->setupWindows10BorderWorkaround();
 #endif
+
+#ifdef Q_OS_WINDOWS
+        if (!windowAttribute(QStringLiteral("windows-system-border-enabled")).toBool()) {
+            window->setFlag(Qt::FramelessWindowHint);
+        }
+#endif
         return true;
     }
 
@@ -82,12 +88,16 @@
         Q_EMIT systemButtonChanged(button, item);
     }
 
+#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
+    bool QuickWindowAgent::isHitTestVisible(QQuickItem *item) const {
+#else
     bool QuickWindowAgent::isHitTestVisible(const QQuickItem *item) const {
+#endif
         Q_D(const QuickWindowAgent);
         return d->context->isHitTestVisible(item);
     }
 
-    void QuickWindowAgent::setHitTestVisible(const QQuickItem *item, bool visible) {
+    void QuickWindowAgent::setHitTestVisible(QQuickItem *item, bool visible) {
         Q_D(QuickWindowAgent);
         d->context->setHitTestVisible(item, visible);
     }
@@ -100,4 +110,4 @@
         d.init();
     }
 
-}
\ No newline at end of file
+}

--
Gitblit v1.9.1