From 03312ecc18395035374ceadb4211edcffffb2c53 Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Mon, 9 May 2011 15:58:25 -0300 Subject: Avoid run PyObjectWrapper operators without python interpreter. Fixes bug #829. Reviewer: Marcelo Lira Hugo Parente Lima --- libpyside/signalmanager.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'libpyside') 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; -- cgit v1.2.3