diff options
author | Renato Filho <renato.filho@openbossa.org> | 2010-07-29 13:52:32 -0300 |
---|---|---|
committer | Renato Filho <renato.filho@openbossa.org> | 2010-07-29 14:13:43 -0300 |
commit | f4668398e2c536f4ff191991af4fd992b044d196 (patch) | |
tree | 8fb1c42cfd566905091b685a5b0ac1bba574768a /PySide/QtCore/typesystem_core.xml | |
parent | 4f51600e20b25f05eb9730c131ca3cd51eaa1774 (diff) |
Call signalmanager clear during QtCore exit function instead of QtCoreApplication destrcutor, to avoid memory leaks.
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org>
Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'PySide/QtCore/typesystem_core.xml')
-rw-r--r-- | PySide/QtCore/typesystem_core.xml | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/PySide/QtCore/typesystem_core.xml b/PySide/QtCore/typesystem_core.xml index 8f3014366..db038e245 100644 --- a/PySide/QtCore/typesystem_core.xml +++ b/PySide/QtCore/typesystem_core.xml @@ -648,12 +648,14 @@ <enum-type name="Qt::WidgetAttribute" /> <enum-type name="QMetaMethod::Access"/> <enum-type name="QMetaMethod::MethodType"/> + <!--signal/slot--> <inject-code class="target" position="end"> Shiboken::TypeResolver::createValueTypeResolver<QString>("unicode"); Shiboken::TypeResolver::createValueTypeResolver<QString>("str"); PySide::init(module); + Py_AtExit(QtCoreModuleExit); </inject-code> <inject-code class="native" position="beginning"> #include <pyside.h> @@ -669,6 +671,10 @@ Shiboken::AutoDecRef arglist(Shiboken::makeTuple(type, msg)); Shiboken::AutoDecRef ret(PyObject_CallObject(qtmsghandler, arglist)); } + void QtCoreModuleExit() + { + PySide::SignalManager::instance().clear(); + } </inject-code> <add-function signature="qInstallMsgHandler(PyObject)" return-type="PyObject"> <inject-code class="target" position="beginning"> |