From 576654b6173e97425411010b2f40b3e9519b85b8 Mon Sep 17 00:00:00 2001 From: Zhao Yuhang <2546789017@qq.com> Date: 周三, 07 5月 2025 18:44:38 +0800 Subject: [PATCH] fix possible QWKQuick crash --- src/widgets/widgetwindowagent.cpp | 13 ++++++------- 1 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/widgets/widgetwindowagent.cpp b/src/widgets/widgetwindowagent.cpp index ea6b22c..1a86d71 100644 --- a/src/widgets/widgetwindowagent.cpp +++ b/src/widgets/widgetwindowagent.cpp @@ -55,20 +55,19 @@ return false; } + // Qt will create invisible native window container for native QWidget + // without this attribute, and this behavior will break QWK functionality. + // So far enabling this attribute is a must for QWK users. w->setAttribute(Qt::WA_DontCreateNativeAncestors); - w->setAttribute(Qt::WA_NativeWindow); // Create new window id + // Make sure the native window handle is actually created before we apply + // various hooks. + //w->setAttribute(Qt::WA_NativeWindow); // ### FIXME: Check d->setup(w, new WidgetItemDelegate()); d->hostWidget = w; #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()) { - w->setWindowFlag(Qt::FramelessWindowHint); - } #endif return true; } -- Gitblit v1.9.1