diff --git a/shared/V8ResourceImpl.cpp b/shared/V8ResourceImpl.cpp index e5fb5732..56817c11 100644 --- a/shared/V8ResourceImpl.cpp +++ b/shared/V8ResourceImpl.cpp @@ -536,11 +536,12 @@ v8::Local V8ResourceImpl::GetOrCreateResourceObject(alt::IResource* { // If already created return instance if(resourceObjects.count(resource) != 0) return resourceObjects.at(resource).Get(isolate); + // Create instance v8::Local obj = v8Resource.CreateInstance(GetContext()); V8Helpers::SetObjectClass(isolate, obj, V8Class::ObjectClass::RESOURCE); - Log::Info << "Create resource " << (void*)resource << Log::Endl; obj->SetInternalField(static_cast(V8Class::InternalFields::RESOURCE), v8::External::New(isolate, resource)); + resourceObjects.insert({ resource, V8Helpers::CPersistent(isolate, obj) }); return obj; }