diff --git a/src/Gui/Selection.cpp b/src/Gui/Selection.cpp index a38283cc03..e08538ef45 100644 --- a/src/Gui/Selection.cpp +++ b/src/Gui/Selection.cpp @@ -2303,7 +2303,7 @@ PyObject *SelectionSingleton::sAddSelectionGate(PyObject * /*self*/, PyObject *a if (PyArg_ParseTuple(args, "O!|i",SelectionFilterPy::type_object(),&filterPy,resolve)) { PY_TRY { Selection().addSelectionGate(new SelectionFilterGatePython( - static_cast(filterPy)), toEnum(resolve)); + SelectionFilterPy::cast(filterPy)), toEnum(resolve)); Py_Return; } PY_CATCH; diff --git a/src/Gui/SelectionFilterPy.h b/src/Gui/SelectionFilterPy.h index d5edbc02e7..7d3c63041e 100644 --- a/src/Gui/SelectionFilterPy.h +++ b/src/Gui/SelectionFilterPy.h @@ -45,6 +45,10 @@ public: public: static void init_type(); // announce properties and methods + static SelectionFilterPy* cast(PyObject* py) { + using SelectionFilterClass = Py::PythonClassObject; + return SelectionFilterClass(py).getCxxObject(); + } SelectionFilterPy(Py::PythonClassInstance* self, Py::Tuple& args, Py::Dict& kdws);