Fix bug 699 - "PySide.QtCore.Property doesn't throw a TypeError if the first arg isn't a PyType."

This commit is contained in:
Hugo Parente Lima 2011-03-23 19:14:42 -03:00
commit 3cd2cad128
3 changed files with 25 additions and 7 deletions

View file

@ -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)