Fix exception handling in wrapped python callbacks

This commit is contained in:
baldurk
2020-11-18 15:41:20 +00:00
parent 91d8c30cd3
commit ab2f4e4046
2 changed files with 79 additions and 24 deletions
+3 -3
View File
@@ -89,9 +89,9 @@ SIMPLE_TYPEMAPS_VARIANT(SimpleType, SimpleType &)
$1 = ConvertFunc<$1_ltype>("$symname", func, exHandle$argnum);
}
%typemap(argout) std::function (ExceptionHandling exHandle) {
if(exHandle.failFlag) {
PyErr_Restore(exHandle.exObj, exHandle.valueObj, exHandle.tracebackObj);
%typemap(argout) std::function (StackExceptionHandler exHandle) {
if(exHandle.data().failFlag) {
PyErr_Restore(exHandle.data().exObj, exHandle.data().valueObj, exHandle.data().tracebackObj);
SWIG_fail;
}
}