aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml')
-rw-r--r--sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml16
1 files changed, 16 insertions, 0 deletions
diff --git a/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml b/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml
index 2c380dacb..92ff3c08b 100644
--- a/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml
+++ b/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml
@@ -2149,6 +2149,22 @@
<parent index="this" action="remove"/>
</modify-argument>
</modify-function>
+ <modify-function signature="clear()">
+ <inject-code class="target" position="beginning">
+ Shiboken::BindingManager &amp;bm = Shiboken::BindingManager::instance();
+ PyObject *pyObj;
+ for (int i = 0; i &lt; %CPPSELF.count(); i++) {
+ QListWidgetItem *item = %CPPSELF.item(i);
+ if ((pyObj = reinterpret_cast&lt;PyObject*&gt;(bm.retrieveWrapper(item))) != 0) {
+ Py_INCREF(pyObj);
+ Shiboken::Object::setParent(NULL, pyObj);
+ Shiboken::Object::invalidate(pyObj);
+ Py_DECREF(pyObj);
+ }
+ }
+ %CPPSELF.%FUNCTION_NAME();
+ </inject-code>
+ </modify-function>
</object-type>
<object-type name="QWidget">