diff options
author | Renato Filho <renato.filho@openbossa.org> | 2010-07-06 18:44:00 -0300 |
---|---|---|
committer | Renato Filho <renato.filho@openbossa.org> | 2010-07-08 11:27:38 -0300 |
commit | 1c4ee915c07daae9919e890072593b51e54c9aec (patch) | |
tree | 19424c508a942a202711fe65530894c10aaa7282 /libpyside/qsignal.cpp | |
parent | 693ae6d6c4073a483524af48e7a1a0ad1fba1131 (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.cpp | 5 |
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); |