[gjs: 1/3] Check if STRV value is an object before toObject.
- From: Philip Chimento <pchimento src gnome org>
- To: commits-list gnome org
- Cc: 
- Subject: [gjs: 1/3] Check if STRV value is an object before toObject.
- Date: Mon, 20 Apr 2020 21:47:25 +0000 (UTC)
commit fe23f6f634e5f619745a97937953ee282c96d6ac
Author: Evan Welsh <noreply evanwelsh com>
Date:   Mon Apr 20 14:01:37 2020 -0500
    Check if STRV value is an object before toObject.
    
    Fixes #315
 gi/value.cpp | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/gi/value.cpp b/gi/value.cpp
index 8059d0b6..1b7cbbdb 100644
--- a/gi/value.cpp
+++ b/gi/value.cpp
@@ -488,11 +488,11 @@ gjs_value_to_g_value_internal(JSContext      *context,
 
         g_value_set_object(gvalue, gobj);
     } else if (gtype == G_TYPE_STRV) {
-        bool found_length;
-
         if (value.isNull()) {
             /* do nothing */
-        } else {
+        } else if (value.isObject()) {
+            bool found_length;
+
             const GjsAtoms& atoms = GjsContextPrivate::atoms(context);
             JS::RootedObject array_obj(context, &value.toObject());
             if (JS_HasPropertyById(context, array_obj, atoms.length(),
@@ -519,6 +519,8 @@ gjs_value_to_g_value_internal(JSContext      *context,
             } else {
                 return throw_expect_type(context, value, "strv");
             }
+        } else {
+            return throw_expect_type(context, value, "strv");
         }
     } else if (g_type_is_a(gtype, G_TYPE_BOXED)) {
         void *gboxed;
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]