From c224c98b81793fb278bb8b3e5a69ef1010d74252 Mon Sep 17 00:00:00 2001 From: Axel Spoerl Date: Tue, 26 Sep 2023 14:28:57 +0200 Subject: [PATCH] QDockWidget: Don't use QWidgetResizeHandler on Windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QWidgetResizeHandler sets its own mouse cursor, which can cause the wrong icon being shown in corner cases (e.g. floating dock with custom title bar and windows container). Windows handles resizing of toplevel windows on platform level. A QWidgetResizeHandler is not necessary. => Do not create one on Windows. Resizing of floating dock widgets is tested in tst_QDockWidget::dockPermissions(), floatingTabs(), hideAndShow(). => No separate autotest needed. Fixes: QTBUG-102196 Pick-to: 6.5 6.2 Change-Id: I20ab203e6b7ecc1dbda0524c7ff9bef271a7c04f Reviewed-by: Friedemann Kleint Reviewed-by: Timothée Keller (cherry picked from commit 975c0bdf732ea7c5f7632913a27a1b6ae5cd5b26) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/widgets/qdockwidget.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index b6576ed131f..3d63a35ea9a 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -892,11 +892,15 @@ Qt::DockWidgetArea QDockWidgetPrivate::toDockWidgetArea(QInternal::DockPosition void QDockWidgetPrivate::setResizerActive(bool active) { +#ifdef Q_OS_WINDOWS + Q_UNUSED(active); +#else Q_Q(QDockWidget); if (active && !resizer) resizer = new QWidgetResizeHandler(q); if (resizer) resizer->setEnabled(active); +#endif } bool QDockWidgetPrivate::isAnimating() const