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. 5
      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
WriteLine("if (phase == 0)"); WriteLine("if (phase == 0)");
WriteOpenBraceAndIndent(); WriteOpenBraceAndIndent();
{ {
WriteLine($"JS_NewClassID(&{classId});"); WriteLine($"JS_NewClassID(JS_GetRuntime(ctx), &{classId});");
NewLine(); NewLine();
WriteLine($"JS_NewClass(JS_GetRuntime(ctx), {classId}, &{classDef});"); WriteLine($"JS_NewClass(JS_GetRuntime(ctx), {classId}, &{classDef});");

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

@ -174,10 +174,13 @@ static JSValue JS_Interop_CleanupObject(JSValue obj, JS_Interop_InstanceKind kin
switch (kind) switch (kind)
{ {
case JS_INTEROP_INSTANCE_SIGNAL_CONTEXT: case JS_INTEROP_INSTANCE_SIGNAL_CONTEXT:
JS_Interop_ClassData* data = (JS_Interop_ClassData*) JS_GetOpaque(obj, 0); JS_Interop_ClassData* data = (JS_Interop_ClassData*) JS_GetOpaque(obj, JS_GetClassID(obj));
if (data)
{
JS_Interop_FreeEventMap(data->ctx, &data->events); JS_Interop_FreeEventMap(data->ctx, &data->events);
js_free(data->ctx, data); js_free(data->ctx, data);
} }
}
return JS_UNDEFINED; 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
if (phase == 0) if (phase == 0)
{ {
JS_NewClassID(&classId__Signal); JS_NewClassID(JS_GetRuntime(ctx), &classId__Signal);
JS_NewClass(JS_GetRuntime(ctx), classId__Signal, &classDef__Signal); JS_NewClass(JS_GetRuntime(ctx), classId__Signal, &classDef__Signal);

Loading…
Cancel
Save