diff options
author | Carlos Manuel Duclos Vergara <carlos.duclos@nokia.com> | 2010-08-18 15:59:04 (GMT) |
---|---|---|
committer | Carlos Manuel Duclos Vergara <carlos.duclos@nokia.com> | 2010-08-18 16:04:01 (GMT) |
commit | 8dd8db250d92521fda619bdcf3e1c859b37b2da0 (patch) | |
tree | a020322262504fe0cbc3bcd6f7c620bc41caea3f /tests/auto/qapplication/tst_qapplication.cpp | |
parent | 8e7fb343372acd0bc5fe04db7a5c5542541d4538 (diff) | |
download | Qt-8dd8db250d92521fda619bdcf3e1c859b37b2da0.zip Qt-8dd8db250d92521fda619bdcf3e1c859b37b2da0.tar.gz Qt-8dd8db250d92521fda619bdcf3e1c859b37b2da0.tar.bz2 |
Crash in QWidgetPrivate::init on QApplication::quit() using a modal dialog on Mac
The problem was the order of deletion in the destructor. To autotest
this I create an application, start a modal dialog and then quit the
application.
The fix was contributed by a customer.
Task-number: QTBUG-12673
Reviewed-by: Olivier Goffart
Diffstat (limited to 'tests/auto/qapplication/tst_qapplication.cpp')
-rw-r--r-- | tests/auto/qapplication/tst_qapplication.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/qapplication/tst_qapplication.cpp b/tests/auto/qapplication/tst_qapplication.cpp index 1a38070..91ae921 100644 --- a/tests/auto/qapplication/tst_qapplication.cpp +++ b/tests/auto/qapplication/tst_qapplication.cpp @@ -146,6 +146,7 @@ private slots: void symbianNeedForTraps(); void symbianLeaveThroughMain(); + void qtbug_12673(); }; class EventSpy : public QObject @@ -2239,6 +2240,23 @@ void tst_QApplication::symbianLeaveThroughMain() #endif } +void tst_QApplication::qtbug_12673() +{ +#ifdef Q_OS_SYMBIAN + QSKIP("This might not make sense in Symbian, but since I do not know how to test it I'll just skip it for now.", SkipAll); +#else + QProcess testProcess; + QStringList arguments; +#ifdef Q_OS_MAC + testProcess.start("modal/modal.app", arguments); +#else + testProcess.start("modal/modal", arguments); +#endif + QVERIFY(testProcess.waitForFinished(20000)); + QCOMPARE(testProcess.exitStatus(), QProcess::NormalExit); +#endif // Q_OS_SYMBIAN +} + //QTEST_APPLESS_MAIN(tst_QApplication) int main(int argc, char *argv[]) { |