From 6c0e1dba403ce65285e089bf281319de36d29235 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 18 Sep 2019 10:18:31 +0200 Subject: [PATCH] QWizard/AeroStyle: Fix crash when Qt::AA_NativeWindows is set MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prevent recursive platform window creation from the events received during window creation (WM_POSCHANGING, etc). Fixes: QTBUG-78300 Change-Id: Ie2bb4308af645c30e556666589e2dd08f14d4035 Reviewed-by: André de la Rocha --- src/widgets/dialogs/qwizard.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/widgets/dialogs/qwizard.cpp b/src/widgets/dialogs/qwizard.cpp index f6f540f57c..ccbf8491b3 100644 --- a/src/widgets/dialogs/qwizard.cpp +++ b/src/widgets/dialogs/qwizard.cpp @@ -3267,7 +3267,10 @@ bool QWizard::nativeEvent(const QByteArray &eventType, void *message, long *resu if (QVistaHelper::vistaState() != d->vistaState) { d->vistaState = QVistaHelper::vistaState(); d->vistaStateChanged = true; - setWizardStyle(AeroStyle); + // QTBUG-78300: When Qt::AA_NativeWindows is set, delay further + // window creation until after the platform window creation events. + if (windowsMessage->message == WM_GETICON) + setWizardStyle(AeroStyle); } return winEventResult; } else {