aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/PySide6/glue/qtwidgets.cpp
diff options
context:
space:
mode:
authorCristián Maureira-Fredes <Cristian.Maureira-Fredes@qt.io>2023-08-15 22:46:04 +0200
committerCristián Maureira-Fredes <cristian.maureira-fredes@qt.io>2023-08-24 09:33:22 +0200
commit1793eb62ebed46bf20624edf0a2e2d16e03904cc (patch)
treed46712e2e769719ef0151e21bec13936ec02fd32 /sources/pyside6/PySide6/glue/qtwidgets.cpp
parenta9307dd0fe4d35d1d8a5b15c7d9361ac2cad8ac9 (diff)
layouts: error instead of segfault for invalid item
Pick-to: 6.5 Fixes: PYSIDE-2422 Change-Id: Id07b891083e11577e21c2ac2a429ef453328830e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/pyside6/PySide6/glue/qtwidgets.cpp')
-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 615c793a6..1f8d22200 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 {