aboutsummaryrefslogtreecommitdiffstats
path: root/libpyside/globalreceiver.cpp
diff options
context:
space:
mode:
authorJason McCampbell (Enthought, Inc) <jmccampbell@enthought.com>2012-03-15 16:03:46 -0500
committerHugo Parente Lima <hugo.lima@openbossa.org>2012-04-19 01:06:40 +0200
commitc0c336399c0e30b1d7de52980b48c1ff0043860a (patch)
treeb6acdc10e823d9bb4d0c6d2524865381d5f00676 /libpyside/globalreceiver.cpp
parent6f93c2029e9f076de1be7d8f674b3c99f664d0a1 (diff)
Bug pyside-35: GIL was not acquired in several important places.
Change-Id: I876732f90690d9679537611e9a71e33aa3a4e4e3 Reviewed-by: Hugo Parente Lima <hugo.lima@openbossa.org>
Diffstat (limited to 'libpyside/globalreceiver.cpp')
-rw-r--r--libpyside/globalreceiver.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libpyside/globalreceiver.cpp b/libpyside/globalreceiver.cpp
index ace1692e3..5639c3d52 100644
--- a/libpyside/globalreceiver.cpp
+++ b/libpyside/globalreceiver.cpp
@@ -71,6 +71,8 @@ using namespace PySide;
DynamicSlotData::DynamicSlotData(int id, PyObject* callback, GlobalReceiver* parent)
: m_id(id), m_pythonSelf(0), m_pyClass(0), m_weakRef(0), m_parent(parent)
{
+ Shiboken::GilState gil;
+
m_isMethod = PyMethod_Check(callback);
if (m_isMethod) {
//Can not store calback pointe because this will be destroyed at the end of the scope
@@ -97,6 +99,7 @@ PyObject* DynamicSlotData::call(PyObject* args)
PyObject* callback = m_callback;
//create a callback based on method data
+ Shiboken::GilState gil;
if (m_isMethod)
#ifdef IS_PY3K
callback = PyMethod_New(callback, m_pythonSelf);