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/modal/base.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/modal/base.cpp')
-rw-r--r-- | tests/auto/qapplication/modal/base.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/auto/qapplication/modal/base.cpp b/tests/auto/qapplication/modal/base.cpp new file mode 100644 index 0000000..d3a7de6 --- /dev/null +++ b/tests/auto/qapplication/modal/base.cpp @@ -0,0 +1,21 @@ +#include "base.h" + +base::base(QWidget *parent) : + QWidget(parent) +{ + m_timer = new QTimer(this); + m_modalStarted = false; + m_timer->setSingleShot(false); + connect(m_timer, SIGNAL(timeout()), this, SLOT(periodicTimer())); + m_timer->start(5000); +} + +void base::periodicTimer() +{ + if(m_modalStarted) + exit(0); + m_modalDialog = new QDialog(this); + m_modalDialog->setModal(true); + m_modalDialog->show(); + m_modalStarted = true; +} |