diff options
author | Hugo Parente Lima <hugo.pl@gmail.com> | 2011-03-23 19:14:42 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:54:05 -0300 |
commit | 61f479b6826f7d88c02c0ab5986e8e2c08be5518 (patch) | |
tree | 9b0b83f643e49bfb6587e1348477fc6557c4dd49 /libpyside | |
parent | e360a53087975cac53975f00e747991b7eb818af (diff) |
Fix bug 699 - "PySide.QtCore.Property doesn't throw a TypeError if the first arg isn't a PyType."
Diffstat (limited to 'libpyside')
-rw-r--r-- | libpyside/pysideproperty.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libpyside/pysideproperty.cpp b/libpyside/pysideproperty.cpp index 839e55f35..4e9b724ea 100644 --- a/libpyside/pysideproperty.cpp +++ b/libpyside/pysideproperty.cpp @@ -168,14 +168,14 @@ int qpropertyTpInit(PyObject* self, PyObject* args, PyObject* kwds) return 0; } - if (pData->constant && (pData->fset || pData->notify)) { - free(pData); - PyErr_SetString(PyExc_AttributeError, "A constant property cannot have a WRITE method or a NOTIFY signal."); - return 0; - - } pData->typeName = PySide::Signal::getTypeName(type); - return 1; + + if (!pData->typeName) + PyErr_SetString(PyExc_TypeError, "Invalid property type or type name."); + else if (pData->constant && (pData->fset || pData->notify)) + PyErr_SetString(PyExc_TypeError, "A constant property cannot have a WRITE method or a NOTIFY signal."); + + return PyErr_Occurred() ? -1 : 1; } void qpropertyFree(void *self) |