From f4b01a5568fba55103ca5bce834759be7d2ded08 Mon Sep 17 00:00:00 2001 From: marioalexis Date: Mon, 22 Aug 2022 15:37:55 -0300 Subject: [PATCH] Gui: Prevent crash when trying to create ExpressionBinding without arguments --- src/Gui/ExpressionBindingPy.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Gui/ExpressionBindingPy.cpp b/src/Gui/ExpressionBindingPy.cpp index d134347d0d..5d585b9976 100644 --- a/src/Gui/ExpressionBindingPy.cpp +++ b/src/Gui/ExpressionBindingPy.cpp @@ -53,13 +53,15 @@ void ExpressionBindingPy::init_type() PyObject *ExpressionBindingPy::PyMake(struct _typeobject *, PyObject * args, PyObject *) { - Py::Tuple tuple(args); + PyObject* pyObj; + if (!PyArg_ParseTuple(args,"O", &pyObj)) + return nullptr; ExpressionBinding* expr = nullptr; PythonWrapper wrap; wrap.loadWidgetsModule(); - QWidget* obj = dynamic_cast(wrap.toQObject(tuple.getItem(0))); + QWidget* obj = dynamic_cast(wrap.toQObject(Py::Object(pyObj))); if (obj) { do { QuantitySpinBox* sb = qobject_cast(obj);