aboutsummaryrefslogtreecommitdiffstats
path: root/libpyside/signalmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libpyside/signalmanager.cpp')
-rw-r--r--libpyside/signalmanager.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/libpyside/signalmanager.cpp b/libpyside/signalmanager.cpp
index 8208796b2..3724500d5 100644
--- a/libpyside/signalmanager.cpp
+++ b/libpyside/signalmanager.cpp
@@ -22,6 +22,7 @@
#include "signalmanager.h"
#include "qproperty.h"
+#include "pyside.h"
#include <QHash>
#include <QStringList>
@@ -223,6 +224,11 @@ struct SignalManager::SignalManagerPrivate
GlobalReceiver m_globalReceiver;
};
+static void clearSignalManager()
+{
+ PySide::SignalManager::instance().clear();
+}
+
SignalManager::SignalManager() : m_d(new SignalManagerPrivate)
{
// Register Qt primitive typedefs used on signals.
@@ -234,6 +240,7 @@ SignalManager::SignalManager() : m_d(new SignalManagerPrivate)
TypeResolver::createValueTypeResolver<PyObjectWrapper>(PYTHON_TYPE);
TypeResolver::createValueTypeResolver<PyObjectWrapper>("object");
TypeResolver::createValueTypeResolver<PyObjectWrapper>("PySide::PyObjectWrapper");
+ PySide::registerCleanupFunction(clearSignalManager);
}
void SignalManager::clear()