aboutsummaryrefslogtreecommitdiffstats
path: root/libpyside/signalmanager.cpp
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2010-01-18 14:26:00 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2010-01-18 15:27:46 -0300
commit2f726de3600e5386fc1bc70776c5cb29a637b5ab (patch)
treea3c47a89878e6e4e15baf8359ce97b0815fb5925 /libpyside/signalmanager.cpp
parent55d3c6ef4e9f43215d529be73b1617510c08ffcd (diff)
Updates SignalManager and GlobalReceiver to acquire the GIL before calling Python.
Reviewed by Hugo Parente Lima <hugo.lima@openbossa.org>
Diffstat (limited to 'libpyside/signalmanager.cpp')
-rw-r--r--libpyside/signalmanager.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/libpyside/signalmanager.cpp b/libpyside/signalmanager.cpp
index eaa18455c..c4bf09217 100644
--- a/libpyside/signalmanager.cpp
+++ b/libpyside/signalmanager.cpp
@@ -38,6 +38,7 @@
#include <QStringList>
#include <QMetaMethod>
#include <autodecref.h>
+#include <gilstate.h>
#include <QDebug>
#include <limits>
#include <typeresolver.h>
@@ -262,6 +263,7 @@ int PySide::SignalManager::qt_metacall(QObject* object, QMetaObject::Call call,
QMetaObject::activate(object, id, args);
} else {
// call python slot
+ Shiboken::GilState gil;
QList<QByteArray> paramTypes = method.parameterTypes();
PyObject* self = Shiboken::BindingManager::instance().retrieveWrapper(object);
Shiboken::AutoDecRef preparedArgs(PyTuple_New(paramTypes.count()));