diff options
author | Renato Filho <renato.filho@openbossa.org> | 2011-05-09 15:58:25 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:54:20 -0300 |
commit | 03312ecc18395035374ceadb4211edcffffb2c53 (patch) | |
tree | c0862c80fed3c748b2c5d7957e200ea50f39a2a4 /libpyside | |
parent | ae67df9d8b833e5ccad75cd1de2565503e38262a (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.cpp | 14 |
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; |