From 6fee208010f5b7358283ff365ecbfda13f2ed456 Mon Sep 17 00:00:00 2001 From: Richard Date: Fri, 22 Aug 2014 23:42:31 -0500 Subject: [PATCH] Fixes for v8 3.19.2 (0x031902) --- Lib/javascript/v8/javascriptrun.swg | 16 +++++++++++++--- Tools/javascript/v8_shell.cxx | 7 +++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Lib/javascript/v8/javascriptrun.swg b/Lib/javascript/v8/javascriptrun.swg index 147a120e0..d29726f14 100644 --- a/Lib/javascript/v8/javascriptrun.swg +++ b/Lib/javascript/v8/javascriptrun.swg @@ -338,9 +338,12 @@ v8::Handle SWIG_V8_NewPointerObj(void *ptr, swig_type_info *info, int v8::Handle class_templ; if (ptr == NULL) { -// SWIGV8_ESCAPE(SWIGV8_NULL()); +#if (SWIG_V8_VERSION < 0x031903) + SWIGV8_ESCAPE(SWIGV8_NULL()); +#else v8::Local result = SWIGV8_NULL(); SWIGV8_ESCAPE(result); +#endif } #if (SWIG_V8_VERSION < 0x031903) @@ -583,15 +586,22 @@ v8::Handle SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf * ---------------------------------------------------------------------------*/ SWIGRUNTIME -//v8::Handle SWIGV8_AppendOutput(v8::Handle result, v8::Handle obj) { + +#if (SWIG_V8_VERSION < 0x031903) +v8::Handle SWIGV8_AppendOutput(v8::Handle result, v8::Handle obj) { +#else v8::Handle SWIGV8_AppendOutput(v8::Local result, v8::Handle obj) { +#endif SWIGV8_HANDLESCOPE_ESC(); if (result->IsUndefined()) { result = SWIGV8_ARRAY_NEW(); } - //v8::Handle arr = v8::Handle::Cast(result); +#if (SWIG_V8_VERSION < 0x031903) + v8::Handle arr = v8::Handle::Cast(result); +#else v8::Local arr = v8::Local::Cast(result); +#endif arr->Set(arr->Length(), obj); SWIGV8_ESCAPE(arr); diff --git a/Tools/javascript/v8_shell.cxx b/Tools/javascript/v8_shell.cxx index 7830c0bdb..0255d7e7f 100644 --- a/Tools/javascript/v8_shell.cxx +++ b/Tools/javascript/v8_shell.cxx @@ -282,11 +282,11 @@ v8::Handle V8Shell::Import(const std::string& module_path) } SwigV8ReturnValue V8Shell::Print(const SwigV8Arguments& args) { + SWIGV8_HANDLESCOPE(); + bool first = true; for (int i = 0; i < args.Length(); i++) { - SWIGV8_HANDLESCOPE(); - if (first) { first = false; } else { @@ -325,6 +325,8 @@ SwigV8ReturnValue V8Shell::Require(const SwigV8Arguments& args) { } SwigV8ReturnValue V8Shell::Quit(const SwigV8Arguments& args) { + SWIGV8_HANDLESCOPE(); + int exit_code = args[0]->Int32Value(); fflush(stdout); fflush(stderr); @@ -334,6 +336,7 @@ SwigV8ReturnValue V8Shell::Quit(const SwigV8Arguments& args) { } SwigV8ReturnValue V8Shell::Version(const SwigV8Arguments& args) { + SWIGV8_HANDLESCOPE(); SWIGV8_RETURN(SWIGV8_STRING_NEW(v8::V8::GetVersion())); }