aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2011-03-11 15:56:25 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:54:03 -0300
commit32fb36f97ac76ef23271049dbb6642bf7bfed557 (patch)
tree4022193b4add8581c6c895ae3db7427073e5a615
parenta8be4c2326f01aa6ad209e3f9787553088e16b11 (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.xml20
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&lt;PyObject* &gt; lst;
+ Shiboken::BindingManager&amp; bm = Shiboken::BindingManager::instance();
+ foreach(QToolButton* child, %CPPSELF.findChildren&lt;QToolButton*&gt;()) {
+ if (bm.hasWrapper(child)) {
+ PyObject* pyChild = %CONVERTTOPYTHON[QToolButton*](child);
+ Shiboken::Object::setParent(0, pyChild);
+ lst &lt;&lt; pyChild;
+ }
+ }
+
+ %CPPSELF.clear();
+
+ foreach(PyObject* obj, lst) {
+ Shiboken::Object::invalidate(reinterpret_cast&lt;SbkObject* &gt;(obj));
+ Py_XDECREF(obj);
+ }
+ </inject-code>
+ </modify-function>
</object-type>
<object-type name="QPaintEngine">
<enum-type name="DirtyFlag" flags="QPaintEngine::DirtyFlags"/>