diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-09-18 10:18:31 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-09-18 11:49:55 +0200 |
commit | 6c0e1dba403ce65285e089bf281319de36d29235 (patch) | |
tree | 8be9b159c5cfefc17de53f9b4098108933de245f /src/widgets | |
parent | 20d8186c24144de90b75a036ee284c68380d9ff5 (diff) |
QWizard/AeroStyle: Fix crash when Qt::AA_NativeWindows is set
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 <andre.rocha@qt.io>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/dialogs/qwizard.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
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 { |