diff --git a/src/Mod/Path/App/AppPathPy.cpp b/src/Mod/Path/App/AppPathPy.cpp index a078d23270..b1c5e481a3 100644 --- a/src/Mod/Path/App/AppPathPy.cpp +++ b/src/Mod/Path/App/AppPathPy.cpp @@ -322,8 +322,8 @@ private: static char* kwd_list[] = {"shapes", "start", "return_end", PARAM_FIELD_STRINGS(ARG,AREA_PARAMS_PATH), nullptr}; if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), - "O|O!O" PARAM_PY_KWDS(AREA_PARAMS_PATH), - kwd_list, &pShapes, &(Base::VectorPy::Type), &start, &return_end, + "O|O!O!" PARAM_PY_KWDS(AREA_PARAMS_PATH), + kwd_list, &pShapes, &(Base::VectorPy::Type), &start, &PyBool_Type, &return_end, PARAM_REF(PARAM_FARG,AREA_PARAMS_PATH))) throw Py::Exception(); @@ -355,7 +355,7 @@ private: std::unique_ptr path(new Toolpath); Area::toPath(*path,shapes,start?&pstart:nullptr, &pend, PARAM_PY_FIELDS(PARAM_FARG,AREA_PARAMS_PATH)); - if(!PyObject_IsTrue(return_end)) + if (PyObject_IsTrue(return_end) ? false : true) return Py::asObject(new PathPy(path.release())); Py::Tuple tuple(2); tuple.setItem(0, Py::asObject(new PathPy(path.release()))); diff --git a/src/Mod/Path/App/AreaPyImp.cpp b/src/Mod/Path/App/AreaPyImp.cpp index 7b67e27185..83bd71ea95 100644 --- a/src/Mod/Path/App/AreaPyImp.cpp +++ b/src/Mod/Path/App/AreaPyImp.cpp @@ -36,11 +36,12 @@ static PyObject * areaAbort(PyObject *, PyObject *args, PyObject *kwd) { static char *kwlist[] = {"aborting", nullptr}; PyObject *pObj = Py_True; - if (!PyArg_ParseTupleAndKeywords(args,kwd,"|O",kwlist,&pObj)) + if (!PyArg_ParseTupleAndKeywords(args,kwd,"|O!",kwlist,&PyBool_Type,&pObj)) return nullptr; - Area::abort(PyObject_IsTrue(pObj)); - Py_INCREF(Py_None); - return Py_None; + + Area::abort(PyObject_IsTrue(pObj) ? true : false); + + Py_Return; } static PyObject * areaSetParams(PyObject *, PyObject *args, PyObject *kwd) { @@ -93,10 +94,10 @@ static PyObject* areaGetParams(PyObject *, PyObject *args) { static PyObject * areaGetParamsDesc(PyObject *, PyObject *args, PyObject *kwd) { PyObject *pcObj = Py_False; static char *kwlist[] = {"as_string", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwd, "|O",kwlist,&pcObj)) + if (!PyArg_ParseTupleAndKeywords(args, kwd, "|O!",kwlist,&PyBool_Type,&pcObj)) return nullptr; - if(PyObject_IsTrue(pcObj)) + if (PyObject_IsTrue(pcObj) ? true : false) return PyUnicode_FromString(PARAM_PY_DOC(NAME,AREA_PARAMS_STATIC_CONF)); PyObject *dict = PyDict_New(); @@ -237,11 +238,11 @@ PyObject* AreaPy::getShape(PyObject *args, PyObject *keywds) PyObject *pcObj = Py_False; short index=-1; static char *kwlist[] = {"index","rebuild", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, keywds,"|hO",kwlist,&index,&pcObj)) + if (!PyArg_ParseTupleAndKeywords(args, keywds,"|hO!",kwlist,&index,&PyBool_Type,&pcObj)) return nullptr; PY_TRY { - if(PyObject_IsTrue(pcObj)) + if (PyObject_IsTrue(pcObj) ? true : false) getAreaPtr()->clean(); return Py::new_reference_to(Part::shape2pyshape(getAreaPtr()->getShape(index))); } PY_CATCH_OCC