File tree Expand file tree Collapse file tree 1 file changed +12
-6
lines changed Expand file tree Collapse file tree 1 file changed +12
-6
lines changed Original file line number Diff line number Diff line change @@ -294,13 +294,19 @@ JavascriptInterop::WrapObject(System::Object^ iObject)
294
294
{
295
295
v8::Isolate *isolate = JavascriptContext::GetCurrentIsolate ();
296
296
JavascriptExternal *external = context->WrapObject (iObject);
297
+ if (external->mPersistent .IsEmpty ())
298
+ {
299
+ Local<FunctionTemplate> templ = context->GetObjectWrapperConstructorTemplate (iObject->GetType ());
300
+ Local<ObjectTemplate> instanceTemplate = templ->InstanceTemplate ();
301
+ Local<Object> object = instanceTemplate->NewInstance (isolate->GetCurrentContext ()).ToLocalChecked ();
302
+ external->Wrap (isolate, object);
297
303
298
- Local<FunctionTemplate> templ = context-> GetObjectWrapperConstructorTemplate (iObject-> GetType ()) ;
299
- Local<ObjectTemplate> instanceTemplate = templ-> InstanceTemplate ();
300
- Local<Object> object = instanceTemplate-> NewInstance (isolate-> GetCurrentContext ()). ToLocalChecked ();
301
- external-> Wrap (isolate, object);
302
-
303
- return object;
304
+ return object ;
305
+ }
306
+ else
307
+ {
308
+ return Local<Object>:: New (isolate, external-> mPersistent );
309
+ }
304
310
}
305
311
306
312
throw gcnew System::Exception (" No context currently active." );
You can’t perform that action at this time.
0 commit comments