From 6699d5bac317612f0d5301c74ede1a7fd3366f3c Mon Sep 17 00:00:00 2001 From: chenhantao Date: Mon, 9 Jun 2025 16:32:58 +0800 Subject: [PATCH] Context Issue:https://gitee.com/openharmony/arkcompiler_ets_runtime/issues/ICDONB Signed-off-by: chenhantao Change-Id: I7886a06b18c4d57e59b5e61fcff3da90f1ae82b7 --- native_engine/native_api.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/native_engine/native_api.cpp b/native_engine/native_api.cpp index d3341922b..84533c8ab 100644 --- a/native_engine/native_api.cpp +++ b/native_engine/native_api.cpp @@ -2802,7 +2802,8 @@ NAPI_EXTERN napi_status napi_create_buffer(napi_env env, size_t size, void** dat } SWITCH_CONTEXT(env); auto vm = reinterpret_cast(env)->GetEcmaVm(); - Local obj = BufferRef::New(vm, size); + Local context = engine->GetContext(); + Local obj = BufferRef::New(vm, context, size); *value = reinterpret_cast(obj->GetBuffer(vm)); CHECK_ARG(env, *data); @@ -2840,7 +2841,8 @@ NAPI_EXTERN napi_status napi_create_buffer_copy(napi_env env, } SWITCH_CONTEXT(env); auto vm = reinterpret_cast(env)->GetEcmaVm(); - Local obj = BufferRef::New(vm, length); + Local context = engine->GetContext(); + Local obj = BufferRef::New(vm, context, length); if (obj->IsUndefined()) { HILOG_INFO("engine create buffer_copy failed!"); } @@ -2884,13 +2886,14 @@ NAPI_EXTERN napi_status napi_create_external_buffer(napi_env env, SWITCH_CONTEXT(env); auto vm = engine->GetEcmaVm(); Local object; + Local context = engine->GetContext(); if (engine->IsMainEnvContext()) { - object = panda::BufferRef::New(vm, data, length, callback, finalize_hint); + object = panda::BufferRef::New(vm, context, data, length, callback, finalize_hint); void* ptr = object->GetBuffer(vm); CHECK_ARG(env, ptr); *result = JsValueFromLocalValue(object); } else { - object = panda::BufferRef::New(vm, data, length, nullptr, nullptr); + object = panda::BufferRef::New(vm, context, data, length, nullptr, nullptr); void* ptr = object->GetBuffer(vm); CHECK_ARG(env, ptr); *result = JsValueFromLocalValue(object); -- Gitee