diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2010-07-27 10:01:33 -0300 |
---|---|---|
committer | Marcelo Lira <marcelo.lira@openbossa.org> | 2010-07-27 10:12:16 -0300 |
commit | 505ba23a9d63e7c6d014f3c5bd5b1cdf778aac56 (patch) | |
tree | c6999f837b79f16699988e7fd30d49144d7385d4 | |
parent | e42133e8e715600a948831eb9c29a5437a5f4fa1 (diff) |
Fixed glue code for QApplication and QCoreApplication.
The code for QApplication deletion should also invalidate the
wrapper for it. Also the similar code for QCoreApplication must
perform the same steps as QApplication.
Reviewed by Luciano Wolf <luciano.wolf@openbossa.org>
Reviewed by Renato Araújo <renato.filho@openbossa.org>
-rw-r--r-- | PySide/QtCore/glue/qcoreapplication_init.cpp | 4 | ||||
-rw-r--r-- | PySide/QtGui/glue/qapplication_init.cpp | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/PySide/QtCore/glue/qcoreapplication_init.cpp b/PySide/QtCore/glue/qcoreapplication_init.cpp index f53db030c..d9bc4cfd1 100644 --- a/PySide/QtCore/glue/qcoreapplication_init.cpp +++ b/PySide/QtCore/glue/qcoreapplication_init.cpp @@ -7,7 +7,9 @@ static char** QCoreApplicationArgValues; */ void DeleteQCoreApplicationAtExit() { if (QCoreApplication::instance()) { - delete QCoreApplication::instance(); + PySide::SignalManager::instance().clear(); + BindingManager::instance().invalidateWrapper(QCoreApplication::instance()); + QCoreApplication::instance()->deleteLater(); for (int i = 0; i < QCoreApplicationArgCount; ++i) delete[] QCoreApplicationArgValues[i]; } diff --git a/PySide/QtGui/glue/qapplication_init.cpp b/PySide/QtGui/glue/qapplication_init.cpp index 00e37b178..9911a11cf 100644 --- a/PySide/QtGui/glue/qapplication_init.cpp +++ b/PySide/QtGui/glue/qapplication_init.cpp @@ -8,6 +8,7 @@ void DeleteQApplicationAtExit() { if (QApplication::instance()) { //disconnect and decref all widgets used on signals before destroy qApp PySide::SignalManager::instance().clear(); + BindingManager::instance().invalidateWrapper(QApplication::instance()); QApplication::instance()->deleteLater(); for (int i = 0; i < QApplicationArgCount; ++i) delete[] QApplicationArgValues[i]; |