diff --git a/src/Generator/Generators/QuickJS/Runtime/CppSharp_QuickJS.h b/src/Generator/Generators/QuickJS/Runtime/CppSharp_QuickJS.h index fb897ae8..5334b1c8 100644 --- a/src/Generator/Generators/QuickJS/Runtime/CppSharp_QuickJS.h +++ b/src/Generator/Generators/QuickJS/Runtime/CppSharp_QuickJS.h @@ -174,12 +174,17 @@ static JSValue JS_Interop_CleanupObject(JSValue obj, JS_Interop_InstanceKind kin switch (kind) { case JS_INTEROP_INSTANCE_SIGNAL_CONTEXT: + { JS_Interop_ClassData* data = (JS_Interop_ClassData*) JS_GetOpaque(obj, JS_GetClassID(obj)); if (data) { JS_Interop_FreeEventMap(data->ctx, &data->events); js_free(data->ctx, data); } + break; + } + case JS_INTEROP_INSTANCE_RAW_POINTER: + break; } return JS_UNDEFINED; diff --git a/src/Generator/Generators/QuickJS/Runtime/Signal.cpp b/src/Generator/Generators/QuickJS/Runtime/Signal.cpp index 96be089b..7ccb2798 100644 --- a/src/Generator/Generators/QuickJS/Runtime/Signal.cpp +++ b/src/Generator/Generators/QuickJS/Runtime/Signal.cpp @@ -4,6 +4,7 @@ // Do not edit this file or all your changes will be lost after re-generation. // // ---------------------------------------------------------------------------- +#include "quickjs.h" #include #include @@ -67,7 +68,7 @@ static JSValue callback_method_Signal_connect(JSContext* ctx, JSValueConst this_ // Connect logic - auto signalCtx = (JS_SignalContext*) JS_GetOpaque(this_val, classId__Signal); + JS_SignalContext* signalCtx = (JS_SignalContext*) JS_GetOpaque(this_val, classId__Signal); if (signalCtx == nullptr) return JS_ThrowTypeError(ctx, "Could not find signal context"); @@ -127,7 +128,7 @@ static JSValue callback_method_Signal_isEmpty(JSContext* ctx, JSValueConst this_ return JS_ThrowRangeError(ctx, "Unsupported number of arguments"); } - auto signalCtx = (JS_SignalContext*) JS_GetOpaque(this_val, classId__Signal); + JS_SignalContext* signalCtx = (JS_SignalContext*) JS_GetOpaque(this_val, classId__Signal); JSValue ____ret = JS_NewBool(ctx, JS_IsUndefined(signalCtx->function)); @@ -142,14 +143,14 @@ static JSValue callback_class__Signal_toString(JSContext* ctx, JSValueConst this void finalizer__Signal(JSRuntime *rt, JSValue val) { - auto signalCtx = (JS_SignalContext*) JS_GetOpaque(val, classId__Signal); + JS_SignalContext* signalCtx = (JS_SignalContext*) JS_GetOpaque(val, classId__Signal); if (signalCtx == nullptr) return; if (!JS_IsUndefined(signalCtx->function)) return JS_FreeValue(signalCtx->ctx, signalCtx->function); - delete signalCtx; + js_free_rt(rt, signalCtx); JS_SetOpaque(val, nullptr);