diff options
Diffstat (limited to 'sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml')
-rw-r--r-- | sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml b/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml index 92ff3c08b..d0c4877f2 100644 --- a/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml +++ b/sources/pyside2/PySide2/QtWidgets/typesystem_widgets_common.xml @@ -2526,10 +2526,13 @@ </modify-function> <modify-function signature="clear()"> <inject-code class="target" position="beginning"> + Shiboken::BindingManager& bm = Shiboken::BindingManager::instance(); for (int i = 0; i < %CPPSELF.count(); i++) { QWidget* widget = %CPPSELF.widget(i); - Shiboken::AutoDecRef pyWidget(%CONVERTTOPYTHON[QWidget*](widget)); - Shiboken::Object::setParent(0, pyWidget); + if (bm.hasWrapper(widget)) { + Shiboken::AutoDecRef pyWidget(%CONVERTTOPYTHON[QWidget*](widget)); + Shiboken::Object::releaseOwnership(pyWidget); + } } %CPPSELF.%FUNCTION_NAME(); </inject-code> |