summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2019-09-18 10:18:31 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2019-09-18 11:49:55 +0200
commit6c0e1dba403ce65285e089bf281319de36d29235 (patch)
tree8be9b159c5cfefc17de53f9b4098108933de245f
parent20d8186c24144de90b75a036ee284c68380d9ff5 (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>
-rw-r--r--src/widgets/dialogs/qwizard.cpp5
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 {