diff options
author | Renato Filho <renato.filho@openbossa.org> | 2011-03-11 15:56:25 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:54:03 -0300 |
commit | 32fb36f97ac76ef23271049dbb6642bf7bfed557 (patch) | |
tree | 4022193b4add8581c6c895ae3db7427073e5a615 | |
parent | a8be4c2326f01aa6ad209e3f9787553088e16b11 (diff) |
Fix QToolbar.clear parent policy.
Fixes bug #711.
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Lauro Moura <lauro.neto@openbossa.org>
-rw-r--r-- | PySide/QtGui/typesystem_gui_common.xml | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml index 8c2c0ed63..970447a6d 100644 --- a/PySide/QtGui/typesystem_gui_common.xml +++ b/PySide/QtGui/typesystem_gui_common.xml @@ -4601,6 +4601,26 @@ <parent index="this" action="add"/> </modify-argument> </modify-function> + <modify-function signature="clear()"> + <inject-code> + QList<PyObject* > lst; + Shiboken::BindingManager& bm = Shiboken::BindingManager::instance(); + foreach(QToolButton* child, %CPPSELF.findChildren<QToolButton*>()) { + if (bm.hasWrapper(child)) { + PyObject* pyChild = %CONVERTTOPYTHON[QToolButton*](child); + Shiboken::Object::setParent(0, pyChild); + lst << pyChild; + } + } + + %CPPSELF.clear(); + + foreach(PyObject* obj, lst) { + Shiboken::Object::invalidate(reinterpret_cast<SbkObject* >(obj)); + Py_XDECREF(obj); + } + </inject-code> + </modify-function> </object-type> <object-type name="QPaintEngine"> <enum-type name="DirtyFlag" flags="QPaintEngine::DirtyFlags"/> |