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 <oliver.wolff@qt.io>
(cherry picked from commit 89fc58127d449cc2995879ff334567141e9c1d58)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Axel Spoerl 2024-02-28 15:09:00 +01:00 committed by Qt Cherry-pick Bot
parent 1f57b48346
commit 8053228817

View File

@ -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<QDockWidgetLayout *>(layout);
if (dwLayout->nativeWindowDeco(q->isFloating()))
return;
if (active && !resizer)
resizer = new QWidgetResizeHandler(q);
if (resizer)
resizer->setEnabled(active);
#endif
}
bool QDockWidgetPrivate::isAnimating() const