提交 5343cf5d 编写于 作者: 1 18392170496

fix mem leak

Signed-off-by: N18392170496 <magentang4@huawei.com>
上级 ad0d05e2
......@@ -27,7 +27,7 @@ namespace OHOS {
class NAPIRemoteObjectHolder : public RefBase {
public:
explicit NAPIRemoteObjectHolder(napi_env env, const std::u16string &descriptor, napi_value thisVar);
~NAPIRemoteObjectHolder();
~NAPIRemoteObjectHolder() = default;
sptr<IRemoteObject> Get();
void Set(sptr<IRemoteObject> object);
void attachLocalInterface(napi_value localInterface, std::string &descriptor);
......
......@@ -38,14 +38,6 @@ NAPIRemoteObjectHolder::NAPIRemoteObjectHolder(napi_env env, const std::u16strin
napi_create_reference(env, thisVar, 0, &jsObjectRef_);
}
NAPIRemoteObjectHolder::~NAPIRemoteObjectHolder()
{
// free the reference of object.
if (localInterfaceRef_ != nullptr && env_ != nullptr) {
napi_delete_reference(env_, localInterfaceRef_);
}
}
sptr<IRemoteObject> NAPIRemoteObjectHolder::Get()
{
std::lock_guard<std::mutex> lockGuard(mutex_);
......@@ -102,10 +94,7 @@ void NAPIRemoteObjectHolder::attachLocalInterface(napi_value localInterface, std
ZLOGE(LOG_LABEL, "Js env has been destructed");
return;
}
if (localInterfaceRef_ != nullptr) {
napi_delete_reference(env_, localInterfaceRef_);
}
napi_create_reference(env_, localInterface, 1, &localInterfaceRef_);
napi_create_reference(env_, localInterface, 0, &localInterfaceRef_);
descriptor_ = Str8ToStr16(descriptor);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册