Put signals register before property registration.
Reviewer: Hugo Parente Lima <hugo.pl@gmail.com>
Luciano Wolf <luciano.wolf@openbossa.org>
This commit is contained in:
parent
76fa112490
commit
800fb4613c
1 changed files with 12 additions and 4 deletions
|
|
@ -404,12 +404,13 @@ DynamicQMetaObject* DynamicQMetaObject::createBasedOn(PyObject* pyObj, PyTypeObj
|
||||||
className = className.mid(className.lastIndexOf('.')+1);
|
className = className.mid(className.lastIndexOf('.')+1);
|
||||||
DynamicQMetaObject *mo = new PySide::DynamicQMetaObject(className.toAscii(), base);
|
DynamicQMetaObject *mo = new PySide::DynamicQMetaObject(className.toAscii(), base);
|
||||||
|
|
||||||
|
QList<PyObject*> properties;
|
||||||
|
|
||||||
while (PyDict_Next(type->tp_dict, &pos, &key, &value)) {
|
while (PyDict_Next(type->tp_dict, &pos, &key, &value)) {
|
||||||
|
|
||||||
//Register properties
|
//Leave the properties to be register after signals because of notify object
|
||||||
if (value->ob_type == &PySideQPropertyType) {
|
if (value->ob_type == &PySideQPropertyType)
|
||||||
mo->addProperty(PyString_AsString(key), value);
|
properties.append(key);
|
||||||
}
|
|
||||||
|
|
||||||
//Register signals
|
//Register signals
|
||||||
if (value->ob_type == &PySideSignalType) {
|
if (value->ob_type == &PySideSignalType) {
|
||||||
|
|
@ -440,6 +441,13 @@ DynamicQMetaObject* DynamicQMetaObject::createBasedOn(PyObject* pyObj, PyTypeObj
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Register properties
|
||||||
|
foreach(PyObject* key, properties) {
|
||||||
|
PyObject* value = PyDict_GetItem(type->tp_dict, key);
|
||||||
|
mo->addProperty(PyString_AsString(key), value);
|
||||||
|
}
|
||||||
|
|
||||||
return mo;
|
return mo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue