diff options
| author | Wladimir Leuschner <wladimir.leuschner@qt.io> | 2023-11-06 16:19:57 +0100 |
|---|---|---|
| committer | Wladimir Leuschner <wladimir.leuschner@qt.io> | 2023-11-06 20:50:44 +0100 |
| commit | c88211d1e4ac12eb2ae4990703a4f73c7085d624 (patch) | |
| tree | bf7497a89000ffa2cc725e91a3f9978c07038d51 /src/widgets/kernel/qwidget.cpp | |
| parent | b23a06e039f9c98a2fb524a08a75b3d39bf67aaf (diff) | |
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.6 6.5
Change-Id: I40ba552cda9dfc8ab543611595c068f80b8fa1d6
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/widgets/kernel/qwidget.cpp')
| -rw-r--r-- | src/widgets/kernel/qwidget.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index fc8dec1ca7a..afa94ac54fb 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); } } } |
