@@ -732,13 +732,14 @@ static int PythonQtInstanceWrapper_setattro(PyObject *obj,PyObject *name,PyObjec
732732 return -1 ;
733733}
734734
735- static QString getStringFromObject (PythonQtInstanceWrapper* wrapper) {
735+ static QString getStringFromObject (PythonQtInstanceWrapper* wrapper, bool &ok ) {
736736 QString result;
737+ ok = false ;
737738 if (wrapper->_wrappedPtr ) {
738739 // first try some manually string conversions for some variants
739740 int metaid = wrapper->classInfo ()->metaTypeId ();
740- result = PythonQtConv::CPPObjectToString (metaid, wrapper->_wrappedPtr );
741- if (!result. isEmpty () ) {
741+ result = PythonQtConv::CPPObjectToString (metaid, wrapper->_wrappedPtr , ok );
742+ if (ok ) {
742743 return result;
743744 }
744745 }
@@ -748,7 +749,7 @@ static QString getStringFromObject(PythonQtInstanceWrapper* wrapper) {
748749 if (info._type == PythonQtMemberInfo::Slot) {
749750 PyObject* resultObj = PythonQtSlotFunction_CallImpl (wrapper->classInfo (), wrapper->_obj , info._slot , NULL , NULL , wrapper->_wrappedPtr );
750751 if (resultObj) {
751- result = PythonQtConv::PyObjGetString (resultObj);
752+ result = PythonQtConv::PyObjGetString (resultObj, false , ok );
752753 Py_DECREF (resultObj);
753754 }
754755 }
@@ -786,8 +787,9 @@ static PyObject * PythonQtInstanceWrapper_str(PyObject * obj)
786787
787788 const char * typeName = obj->ob_type ->tp_name ;
788789 QObject *qobj = wrapper->_obj ;
789- QString str = getStringFromObject (wrapper);
790- if (!str.isEmpty ()) {
790+ bool ok = false ;
791+ QString str = getStringFromObject (wrapper, ok);
792+ if (ok) {
791793 return PyString_FromFormat (" %s" , QStringToPythonConstCharPointer (str));
792794 }
793795 if (wrapper->_wrappedPtr ) {
@@ -807,8 +809,9 @@ static PyObject * PythonQtInstanceWrapper_repr(PyObject * obj)
807809 const char * typeName = obj->ob_type ->tp_name ;
808810
809811 QObject *qobj = wrapper->_obj ;
810- QString str = getStringFromObject (wrapper);
811- if (!str.isEmpty ()) {
812+ bool ok = false ;
813+ QString str = getStringFromObject (wrapper, ok);
814+ if (ok) {
812815 if (str.startsWith (typeName)) {
813816 return PyString_FromFormat (" %s" , QStringToPythonConstCharPointer (str));
814817 } else {
0 commit comments