diff options
-rw-r--r-- | PySide/QtGui/glue/qapplication_init.cpp | 2 | ||||
-rw-r--r-- | tests/QtSql/qsqldatabaseandqueries_test.py | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/PySide/QtGui/glue/qapplication_init.cpp b/PySide/QtGui/glue/qapplication_init.cpp index 5c87af3..00e37b1 100644 --- a/PySide/QtGui/glue/qapplication_init.cpp +++ b/PySide/QtGui/glue/qapplication_init.cpp @@ -8,7 +8,7 @@ void DeleteQApplicationAtExit() { if (QApplication::instance()) { //disconnect and decref all widgets used on signals before destroy qApp PySide::SignalManager::instance().clear(); - delete QApplication::instance(); + QApplication::instance()->deleteLater(); for (int i = 0; i < QApplicationArgCount; ++i) delete[] QApplicationArgValues[i]; } diff --git a/tests/QtSql/qsqldatabaseandqueries_test.py b/tests/QtSql/qsqldatabaseandqueries_test.py index 7a9d30a..41daccc 100644 --- a/tests/QtSql/qsqldatabaseandqueries_test.py +++ b/tests/QtSql/qsqldatabaseandqueries_test.py @@ -6,6 +6,12 @@ import unittest from PySide import QtSql from PySide.QtCore import * +from PySide.QtGui import * + +class Foo(QWidget): + def __init__(self): + QWidget.__init__(self) + self.model = QtSql.QSqlTableModel() class SqlDatabaseCreationDestructionAndQueries(unittest.TestCase): '''Test cases for QtSql database creation, destruction and queries''' @@ -51,6 +57,14 @@ class SqlDatabaseCreationDestructionAndQueries(unittest.TestCase): lastname = query.value(0) self.assertEqual(lastname, 'Harrison') + def testTableModelDeletion(self): + app = QApplication([]) + + bar = Foo() + model = bar.model + del bar + del app + if __name__ == '__main__': unittest.main() |