diff options
Diffstat (limited to 'sources/pyside2/PySide2/QtWidgets')
-rw-r--r-- | sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml | 16 |
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 &bm = Shiboken::BindingManager::instance(); + PyObject *pyObj; + for (int i = 0; i < %CPPSELF.count(); i++) { + QListWidgetItem *item = %CPPSELF.item(i); + if ((pyObj = reinterpret_cast<PyObject*>(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"> |