diff options
Diffstat (limited to 'gi/boxed.cpp')
-rw-r--r-- | gi/boxed.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/gi/boxed.cpp b/gi/boxed.cpp index ed879406..208b888d 100644 --- a/gi/boxed.cpp +++ b/gi/boxed.cpp @@ -50,11 +50,18 @@ BoxedInstance::BoxedInstance(JSContext* cx, JS::HandleObject obj) // See GIWrapperBase::resolve(). bool BoxedPrototype::resolve_impl(JSContext* cx, JS::HandleObject obj, - JS::HandleId, const char* prop_name, - bool* resolved) { + JS::HandleId id, bool* resolved) { + JS::UniqueChars prop_name; + if (!gjs_get_string_id(cx, id, &prop_name)) + return false; + if (!prop_name) { + *resolved = false; + return true; // not resolved, but no error + } + // Look for methods and other class properties GjsAutoFunctionInfo method_info = - g_struct_info_find_method(info(), prop_name); + g_struct_info_find_method(info(), prop_name.get()); if (!method_info) { *resolved = false; return true; |