diff options
author | Cristián Maureira-Fredes <Cristian.Maureira-Fredes@qt.io> | 2023-08-15 22:46:04 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-08-24 08:43:28 +0000 |
commit | 1804aa70f38e13f52e6a3efae216fd6c87cc384e (patch) | |
tree | f7cb4420a9a06d1826ab0f526f33ca6dbb3d52fa | |
parent | f1f0223a098ac431343e680d205b2189b27b1044 (diff) |
layouts: error instead of segfault for invalid item
Fixes: PYSIDE-2422
Change-Id: Id07b891083e11577e21c2ac2a429ef453328830e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
(cherry picked from commit 1793eb62ebed46bf20624edf0a2e2d16e03904cc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | sources/pyside6/PySide6/glue/qtwidgets.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sources/pyside6/PySide6/glue/qtwidgets.cpp b/sources/pyside6/PySide6/glue/qtwidgets.cpp index 3d1c1c3b2..771b31031 100644 --- a/sources/pyside6/PySide6/glue/qtwidgets.cpp +++ b/sources/pyside6/PySide6/glue/qtwidgets.cpp @@ -307,6 +307,12 @@ static void removeWidgetFromLayout(QLayout *layout, QWidget *widget) inline void removeLayoutOwnership(QLayout *layout, QLayoutItem *item) { + + if (item == nullptr) { + PyErr_Format(PyExc_RuntimeError, "Item for removal from layout is None, or invalid."); + return; + } + if (QWidget *w = item->widget()) { removeWidgetFromLayout(layout, w); } else { |