From 3a41e39de8576accf928024a25215e6444b272ec 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 1353019d5f..5e1331e7d7 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);