From d2b109801e119a062f4e070b08255b8006780851 Mon Sep 17 00:00:00 2001 From: Wladimir Leuschner Date: Mon, 6 Nov 2023 16:19:57 +0100 Subject: [PATCH] Restore WindowState when changing SurfaceType Restore the WindowState, when a Window has to be recreated due to changed SurfaceType. Fixes: QTBUG-118194 Pick-to: 6.5 Change-Id: I40ba552cda9dfc8ab543611595c068f80b8fa1d6 Reviewed-by: Laszlo Agocs (cherry picked from commit c88211d1e4ac12eb2ae4990703a4f73c7085d624) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/kernel/qwidget.cpp | 2 ++ 1 file changed, 2 insertions(+) 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); } } }