From 544beb54e7a5d5af05b0f8951875e518cb3b2eac Mon Sep 17 00:00:00 2001 From: wmayer Date: Mon, 14 Dec 2020 17:19:52 +0100 Subject: [PATCH] Path: [skip ci] fix memory leak in TooltablePy::getTools() For some background information see: https://forum.freecadweb.org/viewtopic.php?f=15&t=50583&start=20#p457516 --- src/Mod/Path/App/TooltablePyImp.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Mod/Path/App/TooltablePyImp.cpp b/src/Mod/Path/App/TooltablePyImp.cpp index 1e517f50a2..a48223a516 100644 --- a/src/Mod/Path/App/TooltablePyImp.cpp +++ b/src/Mod/Path/App/TooltablePyImp.cpp @@ -103,12 +103,12 @@ int TooltablePy::PyInit(PyObject* args, PyObject* /*kwd*/) Py::Dict TooltablePy::getTools(void) const { - PyObject *dict = PyDict_New(); + Py::Dict dict; for(std::map::iterator i = getTooltablePtr()->Tools.begin(); i != getTooltablePtr()->Tools.end(); ++i) { PyObject *tool = new Path::ToolPy(i->second); - PyDict_SetItem(dict,PYINT_FROMLONG(i->first),tool); + dict.setItem(Py::Long(i->first), Py::asObject(tool)); } - return Py::Dict(dict); + return dict; } void TooltablePy::setTools(Py::Dict arg)