Browse Source

Update QuickJS runtime and support code to work with latest upstream.

pull/1865/head
Joao Matos 11 months ago
parent
commit
5e405d9b85
  1. 2
      src/Generator/Generators/QuickJS/QuickJSSources.cs
  2. 9
      src/Generator/Generators/QuickJS/Runtime/CppSharp_QuickJS.h
  3. 2
      src/Generator/Generators/QuickJS/Runtime/Signal.cpp

2
src/Generator/Generators/QuickJS/QuickJSSources.cs

@ -598,7 +598,7 @@ namespace CppSharp.Generators.Cpp @@ -598,7 +598,7 @@ namespace CppSharp.Generators.Cpp
WriteLine("if (phase == 0)");
WriteOpenBraceAndIndent();
{
WriteLine($"JS_NewClassID(&{classId});");
WriteLine($"JS_NewClassID(JS_GetRuntime(ctx), &{classId});");
NewLine();
WriteLine($"JS_NewClass(JS_GetRuntime(ctx), {classId}, &{classDef});");

9
src/Generator/Generators/QuickJS/Runtime/CppSharp_QuickJS.h

@ -174,9 +174,12 @@ static JSValue JS_Interop_CleanupObject(JSValue obj, JS_Interop_InstanceKind kin @@ -174,9 +174,12 @@ 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, 0);
JS_Interop_FreeEventMap(data->ctx, &data->events);
js_free(data->ctx, data);
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);
}
}
return JS_UNDEFINED;

2
src/Generator/Generators/QuickJS/Runtime/Signal.cpp

@ -179,7 +179,7 @@ static void register_class__Signal(JSContext *ctx, JSModuleDef *m, bool set, int @@ -179,7 +179,7 @@ static void register_class__Signal(JSContext *ctx, JSModuleDef *m, bool set, int
if (phase == 0)
{
JS_NewClassID(&classId__Signal);
JS_NewClassID(JS_GetRuntime(ctx), &classId__Signal);
JS_NewClass(JS_GetRuntime(ctx), classId__Signal, &classDef__Signal);

Loading…
Cancel
Save