Index: fpdfsdk/jsapi/fxjs_v8.cpp |
diff --git a/fpdfsdk/jsapi/fxjs_v8.cpp b/fpdfsdk/jsapi/fxjs_v8.cpp |
index 156f1c9a3ca04c68306e5de39c026890acce3df7..a2cc4811dd3e4023e0435243f64f5cbbfd2f0070 100644 |
--- a/fpdfsdk/jsapi/fxjs_v8.cpp |
+++ b/fpdfsdk/jsapi/fxjs_v8.cpp |
@@ -371,11 +371,6 @@ void FXJS_ReleaseRuntime(v8::Isolate* pIsolate, |
v8::Local<v8::Context>::New(pIsolate, *pV8PersistentContext); |
v8::Context::Scope context_scope(context); |
- FXJS_PerIsolateData* pData = FXJS_PerIsolateData::Get(pIsolate); |
- if (!pData) |
- return; |
- pData->ReleaseDynamicObjsMap(); |
- |
int maxID = CFXJS_ObjDefinition::MaxID(pIsolate); |
for (int i = 0; i < maxID; ++i) { |
CFXJS_ObjDefinition* pObjDef = CFXJS_ObjDefinition::ForID(pIsolate, i); |
@@ -402,8 +397,12 @@ void FXJS_ReleaseRuntime(v8::Isolate* pIsolate, |
for (int i = 0; i < maxID; ++i) |
delete CFXJS_ObjDefinition::ForID(pIsolate, i); |
- pIsolate->SetData(g_embedderDataSlot, nullptr); |
- delete pData; |
+ FXJS_PerIsolateData* pData = FXJS_PerIsolateData::Get(pIsolate); |
+ if (pData) { |
+ pData->ReleaseDynamicObjsMap(); |
+ pIsolate->SetData(g_embedderDataSlot, nullptr); |
+ delete pData; |
+ } |
} |
IJS_Runtime* FXJS_GetRuntimeFromIsolate(v8::Isolate* pIsolate) { |