@@ -241,6 +241,7 static PyObject *PythonQtInstanceWrapper_getattro(PyObject *obj,PyObject *name) | |||||
241 | if (superAttr) { |
|
241 | if (superAttr) { | |
242 | return superAttr; |
|
242 | return superAttr; | |
243 | } |
|
243 | } | |
|
244 | PyErr_Clear(); | |||
244 |
|
245 | |||
245 | if (!wrapper->_obj && !wrapper->_wrappedPtr) { |
|
246 | if (!wrapper->_obj && !wrapper->_wrappedPtr) { | |
246 | QString error = QString("Trying to read attribute '") + attributeName + "' from a destroyed " + wrapper->classInfo()->className() + " object"; |
|
247 | QString error = QString("Trying to read attribute '") + attributeName + "' from a destroyed " + wrapper->classInfo()->className() + " object"; | |
@@ -256,7 +257,12 static PyObject *PythonQtInstanceWrapper_getattro(PyObject *obj,PyObject *name) | |||||
256 | switch (member._type) { |
|
257 | switch (member._type) { | |
257 | case PythonQtMemberInfo::Property: |
|
258 | case PythonQtMemberInfo::Property: | |
258 | if (wrapper->_obj) { |
|
259 | if (wrapper->_obj) { | |
259 | return PythonQtConv::QVariantToPyObject(member._property.read(wrapper->_obj)); |
|
260 | if (member._property.userType() != QVariant::Invalid) { | |
|
261 | return PythonQtConv::QVariantToPyObject(member._property.read(wrapper->_obj)); | |||
|
262 | } else { | |||
|
263 | Py_INCREF(Py_None); | |||
|
264 | return Py_None; | |||
|
265 | } | |||
260 | } |
|
266 | } | |
261 | break; |
|
267 | break; | |
262 | case PythonQtMemberInfo::Slot: |
|
268 | case PythonQtMemberInfo::Slot: |
General Comments 0
You need to be logged in to leave comments.
Login now