aboutsummaryrefslogtreecommitdiffstats
path: root/libpyside
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2011-05-09 15:58:25 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:54:20 -0300
commit03312ecc18395035374ceadb4211edcffffb2c53 (patch)
treec0862c80fed3c748b2c5d7957e200ea50f39a2a4 /libpyside
parentae67df9d8b833e5ccad75cd1de2565503e38262a (diff)
Avoid run PyObjectWrapper operators without python interpreter.
Fixes bug #829. Reviewer: Marcelo Lira <marcelo.lira@openbossa.org> Hugo Parente Lima <hugo.pl@gmail.com>
Diffstat (limited to 'libpyside')
-rw-r--r--libpyside/signalmanager.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/libpyside/signalmanager.cpp b/libpyside/signalmanager.cpp
index 6ab84561f..bbbc1d3f0 100644
--- a/libpyside/signalmanager.cpp
+++ b/libpyside/signalmanager.cpp
@@ -87,8 +87,13 @@ PyObjectWrapper::operator PyObject*() const
return m_me;
}
-QDataStream &operator<<(QDataStream &out, const PyObjectWrapper &myObj)
+QDataStream &operator<<(QDataStream& out, const PyObjectWrapper& myObj)
{
+ if (Py_IsInitialized() == 0) {
+ qWarning() << "Stream operator for PyObject called without python interpreter.";
+ return out;
+ }
+
static PyObject *reduce_func = 0;
Shiboken::GilState gil;
@@ -107,8 +112,13 @@ QDataStream &operator<<(QDataStream &out, const PyObjectWrapper &myObj)
return out;
}
-QDataStream &operator>>(QDataStream &in, PyObjectWrapper &myObj)
+QDataStream &operator>>(QDataStream& in, PyObjectWrapper& myObj)
{
+ if (Py_IsInitialized() == 0) {
+ qWarning() << "Stream operator for PyObject called without python interpreter.";
+ return in;
+ }
+
static PyObject *eval_func = 0;
Shiboken::GilState gil;