From 45bfc97ef437eb919bec2579dd39e3bbb0fd1c12 Mon Sep 17 00:00:00 2001 From: Vladimir Menshakov Date: Thu, 18 Jul 2013 19:15:38 +0400 Subject: [PATCH] converted function templates to the persistent ones (fixed crash on large wrappers) --- Lib/javascript/v8/javascriptcode.swg | 2 +- Lib/javascript/v8/javascriptruntime.swg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/javascript/v8/javascriptcode.swg b/Lib/javascript/v8/javascriptcode.swg index 6ca0fff42..a6cd18c62 100644 --- a/Lib/javascript/v8/javascriptcode.swg +++ b/Lib/javascript/v8/javascriptcode.swg @@ -261,7 +261,7 @@ fail: %fragment("jsv8_define_class_template", "templates") %{ v8::Handle $jsmangledname_class = SWIGV8_CreateClassTemplate("$jsmangledname"); - $jsmangledname_clientData.class_templ = $jsmangledname_class; + $jsmangledname_clientData.class_templ.Reset(v8::Isolate::GetCurrent(), $jsmangledname_class); $jsmangledname_clientData.dtor = $jsdtor; SWIGTYPE$jsmangledtype->clientdata = &$jsmangledname_clientData; %} diff --git a/Lib/javascript/v8/javascriptruntime.swg b/Lib/javascript/v8/javascriptruntime.swg index d23efcb55..12c274ed2 100644 --- a/Lib/javascript/v8/javascriptruntime.swg +++ b/Lib/javascript/v8/javascriptruntime.swg @@ -86,7 +86,7 @@ public: class SWIGV8_ClientData { public: - v8::Handle class_templ; + v8::Persistent class_templ; void (*dtor) (v8::Isolate *iso, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *parameter); };