diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index fc8dec1ca7..afa94ac54f 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -10866,8 +10866,10 @@ void QWidget::setParent(QWidget *parent, Qt::WindowFlags f) recreate = true; } if (recreate) { + auto oldState = d->windowHandle(QWidgetPrivate::WindowHandleMode::Closest)->windowState(); newtlw->destroy(); newtlw->create(); + d->windowHandle(QWidgetPrivate::WindowHandleMode::Closest)->setWindowState(oldState); } } }