summaryrefslogtreecommitdiff
path: root/fxjs/fxjs_v8.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fxjs/fxjs_v8.cpp')
-rw-r--r--fxjs/fxjs_v8.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/fxjs/fxjs_v8.cpp b/fxjs/fxjs_v8.cpp
index 7869bab038..773f9025b1 100644
--- a/fxjs/fxjs_v8.cpp
+++ b/fxjs/fxjs_v8.cpp
@@ -417,9 +417,7 @@ void CFXJS_Engine::InitializeEngine() {
v8::Local<v8::Object> obj = NewFxDynamicObj(i, true);
if (!obj.IsEmpty()) {
v8Context->Global()->Set(v8Context, pObjName, obj).FromJust();
- m_StaticObjects[i] = new v8::Global<v8::Object>(GetIsolate(), obj);
- } else {
- m_StaticObjects[i] = nullptr;
+ m_StaticObjects[i] = v8::Global<v8::Object>(GetIsolate(), obj);
}
}
}
@@ -444,10 +442,9 @@ void CFXJS_Engine::ReleaseEngine() {
if (pObjDef->m_ObjType == FXJSOBJTYPE_GLOBAL) {
pObj =
context->Global()->GetPrototype()->ToObject(context).ToLocalChecked();
- } else if (m_StaticObjects[i] && !m_StaticObjects[i]->IsEmpty()) {
- pObj = v8::Local<v8::Object>::New(GetIsolate(), *m_StaticObjects[i]);
- delete m_StaticObjects[i];
- m_StaticObjects[i] = nullptr;
+ } else if (!m_StaticObjects[i].IsEmpty()) {
+ pObj = v8::Local<v8::Object>::New(GetIsolate(), m_StaticObjects[i]);
+ m_StaticObjects[i].Reset();
}
if (!pObj.IsEmpty()) {