From 9a03ca805894ac7e7f1ab315ca8dfdd297f4125e Mon Sep 17 00:00:00 2001 From: Sarunas Valaskevicius Date: Sun, 20 Jan 2013 17:47:21 +0000 Subject: [PATCH 1/2] use same type for friend declaration --- src/vu8/Class.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/vu8/Class.hpp b/src/vu8/Class.hpp index 7159ad4..c26a5b9 100644 --- a/src/vu8/Class.hpp +++ b/src/vu8/Class.hpp @@ -158,8 +158,8 @@ class ClassSingleton v8::Persistent func_; friend class detail::LazySingleton; - friend class Class; - friend class Singleton; + friend struct Class; + friend struct Singleton; }; // Interface for registering C++ classes with v8 @@ -248,7 +248,7 @@ struct Class { } Class() {} - friend class Singleton; + friend struct Singleton; }; // Wrap a C++ singleton From f1229702183302ed3f39a4cbc9c489b1375c218d Mon Sep 17 00:00:00 2001 From: Sarunas Valaskevicius Date: Sun, 20 Jan 2013 17:49:18 +0000 Subject: [PATCH 2/2] allow NULL object ptrs this is required to be able to pass a null value while calling a function (as a param) --- src/vu8/detail/FromV8.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/vu8/detail/FromV8.hpp b/src/vu8/detail/FromV8.hpp index f9bbe70..152072c 100644 --- a/src/vu8/detail/FromV8.hpp +++ b/src/vu8/detail/FromV8.hpp @@ -149,8 +149,12 @@ struct FromV8 : FromV8Base { template struct FromV8Ptr : FromV8Base { static inline T exec(ValueHandle value) { - if (! value->IsObject()) + if (! value->IsObject()) { + if (value->IsNull()) { + return NULL; + } throw std::runtime_error("expected object"); + } v8::Local obj = value->ToObject();