aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristián Maureira-Fredes <Cristian.Maureira-Fredes@qt.io>2023-08-15 22:46:04 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-08-24 08:43:28 +0000
commit1804aa70f38e13f52e6a3efae216fd6c87cc384e (patch)
treef7cb4420a9a06d1826ab0f526f33ca6dbb3d52fa
parentf1f0223a098ac431343e680d205b2189b27b1044 (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.cpp6
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 {