Allow python to register custom event filters

This commit is contained in:
baldurk
2021-02-25 15:41:55 +00:00
parent 21e52a10e5
commit dcaabf42e9
5 changed files with 223 additions and 66 deletions
@@ -251,11 +251,14 @@ struct varfunc
PyObject *result = PyObject_Call(func, args, 0);
if(result == NULL)
HandleCallbackFailure(global_handle, exHandle);
Py_DECREF(args);
if(result == NULL)
{
HandleCallbackFailure(global_handle, exHandle);
return rettype();
}
return get_return<rettype>(funcname, result, global_handle, exHandle);
}
+2 -4
View File
@@ -103,7 +103,7 @@ struct TypeConversion<Opaque *, false>
if(cached_type_info)
return cached_type_info;
rdcstr baseTypeName = TypeName<Opaque>();
rdcstr baseTypeName = TypeName<typename std::remove_const<Opaque>::type>();
baseTypeName += " *";
cached_type_info = SWIG_TypeQuery(baseTypeName.c_str());
@@ -124,7 +124,7 @@ struct TypeConversion<Opaque *, false>
return res;
}
static PyObject *ConvertToPy(const Opaque *&in)
static PyObject *ConvertToPy(const Opaque *in)
{
swig_type_info *type_info = GetTypeInfo();
if(type_info == NULL)
@@ -132,8 +132,6 @@ struct TypeConversion<Opaque *, false>
return SWIG_InternalNewPointerObj((void *)in, type_info, 0);
}
static PyObject *ConvertToPy(Opaque *in) { return ConvertToPy((const Opaque *&)in); }
};
// specialisations for basic types