diff --git a/Source/Modules/scilab.cxx b/Source/Modules/scilab.cxx index 42df12f7c..7febf1011 100644 --- a/Source/Modules/scilab.cxx +++ b/Source/Modules/scilab.cxx @@ -326,6 +326,7 @@ public: bool isLastOverloaded = isOverloaded && !Getattr(node, "sym:nextSibling"); if (!isOverloaded && !addSymbol(functionName, node)) { + DelWrapper(wrapper); return SWIG_ERROR; } @@ -603,6 +604,7 @@ public: Append(getFunctionWrapper->code, "return SWIG_OK;\n"); Append(getFunctionWrapper->code, "}\n"); Wrapper_print(getFunctionWrapper, wrappersSection); + DelWrapper(getFunctionWrapper); /* Add function to builder table */ addFunctionToScilab(scilabGetFunctionName, getFunctionName); @@ -630,6 +632,7 @@ public: Append(setFunctionWrapper->code, "return SWIG_OK;\n"); Append(setFunctionWrapper->code, "}\n"); Wrapper_print(setFunctionWrapper, wrappersSection); + DelWrapper(setFunctionWrapper); /* Add function to builder table */ addFunctionToScilab(scilabSetFunctionName, setFunctionName);