diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index 1da9f6380f04ce9091194e8b9b9ff0fba4c287cd..52c76e015b35676204335087347acfc210621e72 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -7328,6 +7328,11 @@ bool QWidget::restoreGeometry(const QByteArray &geometry) } } else { setGeometry(restoredNormalGeometry); + if (testAttribute(Qt::WA_WState_Created)) { + data->crect.setTopLeft(restoredGeometry.topLeft()); + data->crect.setSize( + restoredGeometry.size().boundedTo(maximumSize()).expandedTo(minimumSize())); + } } #endif // Q_OS_WIN if (maximized)