summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/kernel/qwidget.cpp')
-rw-r--r--src/widgets/kernel/qwidget.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index baababe09ae..2734d598517 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -10898,10 +10898,11 @@ void QWidget::setParent(QWidget *parent, Qt::WindowFlags f)
recreate = true;
}
if (recreate) {
- auto oldState = d->windowHandle(QWidgetPrivate::WindowHandleMode::Closest)->windowState();
+ const auto windowStateBeforeDestroy = newtlw->windowState();
newtlw->destroy();
newtlw->create();
- d->windowHandle(QWidgetPrivate::WindowHandleMode::Closest)->setWindowState(oldState);
+ Q_ASSERT(newtlw->windowHandle());
+ newtlw->windowHandle()->setWindowStates(windowStateBeforeDestroy);
}
}
}