aboutsummaryrefslogtreecommitdiffstats
path: root/libpyside/qsignal.cpp
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2010-07-06 18:44:00 -0300
committerRenato Filho <renato.filho@openbossa.org>2010-07-08 11:27:38 -0300
commit1c4ee915c07daae9919e890072593b51e54c9aec (patch)
tree19424c508a942a202711fe65530894c10aaa7282 /libpyside/qsignal.cpp
parent693ae6d6c4073a483524af48e7a1a0ad1fba1131 (diff)
Implemented support to properties on QMetaObject.
Reviewer: Hugo Parente Lima <hugo.lima@openbossa.org>, Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'libpyside/qsignal.cpp')
-rw-r--r--libpyside/qsignal.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/libpyside/qsignal.cpp b/libpyside/qsignal.cpp
index b19c5658c..dff9cc184 100644
--- a/libpyside/qsignal.cpp
+++ b/libpyside/qsignal.cpp
@@ -229,10 +229,11 @@ PyObject* signal_instance_get_item(PyObject* self, PyObject* key)
void signalUpdateSource(PyObject* source)
{
Shiboken::AutoDecRef attrs(PyObject_Dir(source));
+
for(int i = 0, i_max = PyList_GET_SIZE(attrs.object()); i < i_max; i++) {
PyObject *attrName = PyList_GET_ITEM(attrs.object(), i);
- Shiboken::AutoDecRef attr(PyObject_GetAttr(source, attrName));
- if (attr->ob_type == &Signal_Type) {
+ Shiboken::AutoDecRef attr(PyObject_GetAttr((PyObject*)source->ob_type, attrName));
+ if (!attr.isNull() && (attr->ob_type == &Signal_Type)) {
Shiboken::AutoDecRef signalInstance(reinterpret_cast<PyObject*>(PyObject_New(SignalInstanceData, &SignalInstance_Type)));
signal_instance_initialize(signalInstance, attrName, reinterpret_cast<SignalData*>(attr.object()), source, 0);
PyObject_SetAttr(source, attrName, signalInstance);