Fix memory leaks
This commit is contained in:
parent
4d3dfce93f
commit
692393285d
5 changed files with 24 additions and 23 deletions
|
@ -51,7 +51,7 @@ namespace wren {
|
|||
char* (*load_module_fn)(Configuration&, VM*, wren_string_t) {nullptr};
|
||||
foreign_method_t (*foreign_method_fn)(Configuration&, VM*, wren_string_t, wren_string_t, bool, wren_string_t) {nullptr};
|
||||
foreign_class_t (*foreign_class_fn)(Configuration&, VM*, wren_string_t, wren_string_t) {nullptr};
|
||||
void (*load_module_complete_fn)(Configuration&, VM*, wren_string_t);
|
||||
void (*load_module_complete_fn)(Configuration&, VM*, wren_string_t, char*) {nullptr};
|
||||
|
||||
Configuration* config_obj {nullptr};
|
||||
VM* owner {nullptr};
|
||||
|
@ -130,6 +130,7 @@ namespace wren {
|
|||
define_method_info(load_module_fn, load_module, char*, VM*, wren_string_t);
|
||||
define_method_info(foreign_method_fn, foreign_method, foreign_method_t, VM*, wren_string_t, wren_string_t, bool, wren_string_t);
|
||||
define_method_info(foreign_class_fn, foreign_class, foreign_class_t, VM*, wren_string_t, wren_string_t);
|
||||
define_method_info(load_module_complete_fn, load_module_complete, void, VM*, wren_string_t, char*);
|
||||
|
||||
template <typename T, typename F> struct AnyFunctionWrap;
|
||||
template <typename T, typename R, typename... Args>
|
||||
|
@ -185,6 +186,9 @@ namespace wren {
|
|||
if constexpr (detail::method_foreign_class::exists<T>::value)
|
||||
ret.foreign_class_fn = &detail::AnyFunctionWrap<T, decltype(&T::foreign_class_fn)>::template call<&T::foreign_class_fn>;
|
||||
|
||||
if constexpr (detail::method_load_module_complete::exists<T>::value)
|
||||
ret.load_module_complete_fn = &detail::AnyFunctionWrap<T, decltype(&T::load_module_complete_fn)>::template call<&T::load_module_complete_fn>;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue