From 4ad57aa3e4caedd89e9c60c60aadbc239290cfe3 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 3 Nov 2009 18:29:52 +0000 Subject: [PATCH] script: Use JsonObject direct accessors Instead of getting the JsonNode for a member of which we mandate the type we can use the typed accessors of JsonObject. --- clutter/clutter-script.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/clutter/clutter-script.c b/clutter/clutter-script.c index 7c7df495f..a6f33567f 100644 --- a/clutter/clutter-script.c +++ b/clutter/clutter-script.c @@ -724,23 +724,26 @@ json_object_end (JsonParser *parser, return; } - val = json_object_get_member (object, "id"); - id = json_node_get_string (val); + id = json_object_get_string_member (object, "id"); oinfo = g_hash_table_lookup (priv->objects, id); if (G_LIKELY (!oinfo)) { + const gchar *class_name; + oinfo = g_slice_new0 (ObjectInfo); oinfo->merge_id = priv->last_merge_id; oinfo->id = g_strdup (id); - val = json_object_get_member (object, "type"); - oinfo->class_name = json_node_dup_string (val); + class_name = json_object_get_string_member (object, "type"); + oinfo->class_name = g_strdup (class_name); if (json_object_has_member (object, "type_func")) { - val = json_object_get_member (object, "type_func"); - oinfo->type_func = json_node_dup_string (val); + const gchar *type_func; + + type_func = json_object_get_string_member (object, "type_func"); + oinfo->type_func = g_strdup (type_func); json_object_remove_member (object, "type_func"); } @@ -1525,6 +1528,7 @@ clutter_script_construct_object (ClutterScript *script, g_free ((gchar *) param->name); g_value_unset (¶m->value); } + g_array_free (params, TRUE); for (i = 0; i < n_clutter_toplevels; i++)