diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index 347cfbc9fcd..24e2700fa7a 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -10871,8 +10871,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); } } }