From 80532288174dc5bd4b23bd13ae53faeafad8ceeb Mon Sep 17 00:00:00 2001 From: Axel Spoerl Date: Wed, 28 Feb 2024 15:09:00 +0100 Subject: [PATCH] QDockWidget: Use resizer without native window decoration 975c0bdf732ea7c5f7632913a27a1b6ae5cd5b26 has disabled usage of a resizer on Windows. This has caused a regression, when a dock widget was rendered frameless. Use a resizer in that case. Fixes: QTBUG-120694 Task-number: QTBUG-102196 Pick-to: 6.6 6.5 6.2 Change-Id: I9fbcb1a8b1d8869995093bc1da7524ec81e9f02d Reviewed-by: Oliver Wolff (cherry picked from commit 89fc58127d449cc2995879ff334567141e9c1d58) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/widgets/qdockwidget.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index 8f027f7e3b5..706306000c0 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -883,15 +883,15 @@ Qt::DockWidgetArea QDockWidgetPrivate::toDockWidgetArea(QInternal::DockPosition void QDockWidgetPrivate::setResizerActive(bool active) { -#ifdef Q_OS_WINDOWS - Q_UNUSED(active); -#else Q_Q(QDockWidget); + const auto *dwLayout = qobject_cast(layout); + if (dwLayout->nativeWindowDeco(q->isFloating())) + return; + if (active && !resizer) resizer = new QWidgetResizeHandler(q); if (resizer) resizer->setEnabled(active); -#endif } bool QDockWidgetPrivate::isAnimating() const