diff options
-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; |