Skip to content

Commit 46a15d7

Browse files
committed
Interceptor callbacks bug fixes
1 parent 96a87d9 commit 46a15d7

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/Wrapper.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -290,11 +290,11 @@ v8::Intercepted CPythonObject::NamedGetter(v8::Local<v8::Name> prop, const v8::P
290290

291291
py::object obj = CJavascriptObject::Wrap(info.Holder());
292292
if (PyGen_Check(obj.ptr()))
293-
CALLBACK_RETURN_NOT_HANDLED(v8::Undefined(info.GetIsolate()));
293+
CALLBACK_RETURN_HANDLED(v8::Undefined(info.GetIsolate()));
294294

295295
v8::String::Utf8Value name(info.GetIsolate(), v8::Local<v8::String>::Cast(prop));
296296
if (*name == nullptr)
297-
CALLBACK_RETURN_NOT_HANDLED(v8::Undefined(info.GetIsolate()));
297+
CALLBACK_RETURN_HANDLED(v8::Undefined(info.GetIsolate()));
298298

299299
PyObject *value = ::PyObject_GetAttrString(obj.ptr(), *name);
300300

@@ -428,6 +428,7 @@ v8::Intercepted CPythonObject::NamedQuery(v8::Local<v8::Name> prop, const v8::Pr
428428
if (exists)
429429
CALLBACK_RETURN_HANDLED(v8::Integer::New(info.GetIsolate(), v8::None));
430430

431+
CALLBACK_RETURN_NOT_HANDLED(v8::Integer::New(info.GetIsolate(), v8::None));
431432
END_HANDLE_EXCEPTION(v8::Handle<v8::Integer>())
432433
}
433434

@@ -554,7 +555,7 @@ v8::Intercepted CPythonObject::IndexedGetter(uint32_t index, const v8::PropertyC
554555

555556
py::object obj = CJavascriptObject::Wrap(info.Holder());
556557
if (PyGen_Check(obj.ptr()))
557-
CALLBACK_RETURN_NOT_HANDLED(v8::Undefined(info.GetIsolate()));
558+
CALLBACK_RETURN_HANDLED(v8::Undefined(info.GetIsolate()));
558559

559560
if (::PySequence_Check(obj.ptr()))
560561
{
@@ -586,6 +587,7 @@ v8::Intercepted CPythonObject::IndexedGetter(uint32_t index, const v8::PropertyC
586587
}
587588
}
588589

590+
CALLBACK_RETURN_NOT_HANDLED(v8::Undefined(info.GetIsolate()));
589591
END_HANDLE_EXCEPTION(v8::Undefined(info.GetIsolate()))
590592
}
591593

@@ -615,7 +617,6 @@ v8::Intercepted CPythonObject::IndexedSetter(uint32_t index, v8::Local<v8::Value
615617
}
616618

617619
CALLBACK_RETURN_HANDLED(value);
618-
619620
END_HANDLE_EXCEPTION(v8::Undefined(info.GetIsolate()))
620621
}
621622

@@ -652,6 +653,7 @@ v8::Intercepted CPythonObject::IndexedQuery(uint32_t index, const v8::PropertyCa
652653
}
653654
}
654655

656+
CALLBACK_RETURN_NOT_HANDLED(v8::Integer::New(info.GetIsolate(), v8::None));
655657
END_HANDLE_EXCEPTION(v8::Handle<v8::Integer>())
656658
}
657659

@@ -678,6 +680,7 @@ v8::Intercepted CPythonObject::IndexedDeleter(uint32_t index, const v8::Property
678680
CALLBACK_RETURN_HANDLED(PyMapping_DelItemString(obj.ptr(), buf) == 0);
679681
}
680682

683+
CALLBACK_RETURN_NOT_HANDLED(v8::Handle<v8::Boolean>())
681684
END_HANDLE_EXCEPTION(v8::Handle<v8::Boolean>())
682685
}
683686

0 commit comments

Comments
 (0)