add guards to satisfy v8 assertions

This commit is contained in:
Charles Lowell 2012-08-01 00:59:48 +03:00
parent 59154c2e2b
commit e038c0c301
1 changed files with 2 additions and 2 deletions

View File

@ -31,7 +31,7 @@ namespace rr {
this->deleter = unwrap(wrapper, 3);
this->enumerator = unwrap(wrapper, 4);
v8::Handle<v8::Value> data = wrapper->Get(5);
if (!data.IsEmpty()) {
if (!data.IsEmpty() && !data->IsNull() && !data->IsUndefined()) {
this->data = Value(data);
}
}
@ -57,7 +57,7 @@ namespace rr {
VALUE Accessor::unwrap(v8::Handle<v8::Object> wrapper, int index) {
v8::Handle<v8::Value> value = wrapper->Get(index);
if (value.IsEmpty()) {
if (value.IsEmpty() || !value->IsExternal()) {
return Qnil;
} else {
v8::Handle<v8::External> external(v8::External::Cast(*value));