summaryrefslogtreecommitdiff
path: root/gi/boxed.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gi/boxed.cpp')
-rw-r--r--gi/boxed.cpp13
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;