summaryrefslogtreecommitdiffstats
path: root/tests/auto/qapplication/modal/base.cpp
diff options
context:
space:
mode:
authorCarlos Manuel Duclos Vergara <carlos.duclos@nokia.com>2010-08-18 15:59:04 (GMT)
committerCarlos Manuel Duclos Vergara <carlos.duclos@nokia.com>2010-08-18 16:04:01 (GMT)
commit8dd8db250d92521fda619bdcf3e1c859b37b2da0 (patch)
treea020322262504fe0cbc3bcd6f7c620bc41caea3f /tests/auto/qapplication/modal/base.cpp
parent8e7fb343372acd0bc5fe04db7a5c5542541d4538 (diff)
downloadQt-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.cpp21
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;
+}