aboutsummaryrefslogtreecommitdiffstats
path: root/libpyside
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2011-03-23 19:14:42 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:54:05 -0300
commit61f479b6826f7d88c02c0ab5986e8e2c08be5518 (patch)
tree9b0b83f643e49bfb6587e1348477fc6557c4dd49 /libpyside
parente360a53087975cac53975f00e747991b7eb818af (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.cpp14
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)