aboutsummaryrefslogtreecommitdiffstats
path: root/PySide/QtCore/typesystem_core.xml
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2010-07-29 13:52:32 -0300
committerRenato Filho <renato.filho@openbossa.org>2010-07-29 14:13:43 -0300
commitf4668398e2c536f4ff191991af4fd992b044d196 (patch)
tree8fb1c42cfd566905091b685a5b0ac1bba574768a /PySide/QtCore/typesystem_core.xml
parent4f51600e20b25f05eb9730c131ca3cd51eaa1774 (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.xml6
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&lt;QString>("unicode");
Shiboken::TypeResolver::createValueTypeResolver&lt;QString>("str");
PySide::init(module);
+ Py_AtExit(QtCoreModuleExit);
</inject-code>
<inject-code class="native" position="beginning">
#include &lt;pyside.h&gt;
@@ -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">