From 254e8e969968e7ed5f594238a980b20c6fabc46e Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Thu, 21 Apr 2011 02:29:53 +0100 Subject: reader: Fix bug in example usage --- json-glib/json-reader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/json-glib/json-reader.c b/json-glib/json-reader.c index 00fe55e..4aaadbe 100644 --- a/json-glib/json-reader.c +++ b/json-glib/json-reader.c @@ -56,7 +56,7 @@ * */ * if (!json_reader_read_element (reader, 6)) * { - * const GError *error = json_reader_get_error (error); + * const GError *error = json_reader_get_error (reader); * g_print ("Unable to read the element: %s", error->message); * } * ]| -- cgit v1.2.1 From 9824a32a803bd194208d460068ce5ba91d776686 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 23 Apr 2011 18:15:37 +0900 Subject: Warn from json_gobject_deserialize() if a listed property cannot be deserialized. --- json-glib/json-gobject.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/json-glib/json-gobject.c b/json-glib/json-gobject.c index 5742188..dfa4058 100644 --- a/json-glib/json-gobject.c +++ b/json-glib/json-gobject.c @@ -324,6 +324,9 @@ json_gobject_new (GType gtype, g_type_name (G_VALUE_TYPE (&value))); g_object_set_property (retval, pspec->name, &value); } + else + g_warning ("Failed to deserialize \"%s\" property of type \"%s\" for an object of type \"%s\"", + pspec->name, g_type_name (G_VALUE_TYPE (&value)), g_type_name (gtype)); g_value_unset (&value); } -- cgit v1.2.1 From d3db7acc1f53491b6dd9637991a1eaf8bb5c5002 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 3 May 2011 00:20:12 +0900 Subject: Fixed json_deserialize_pspec() to handle null nodes. This fixes deserialization to match serialization (bug 648539) --- json-glib/json-gobject.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/json-glib/json-gobject.c b/json-glib/json-gobject.c index dfa4058..a653712 100644 --- a/json-glib/json-gobject.c +++ b/json-glib/json-gobject.c @@ -565,7 +565,19 @@ json_deserialize_pspec (GValue *value, break; case JSON_NODE_NULL: - retval = FALSE; + if (G_TYPE_FUNDAMENTAL (G_VALUE_TYPE (value)) == G_TYPE_STRING) + { + g_value_set_string (value, NULL); + retval = TRUE; + } + else if (G_TYPE_FUNDAMENTAL (G_VALUE_TYPE (value)) == G_TYPE_OBJECT) + { + g_value_set_object (value, NULL); + retval = TRUE; + } + else + retval = FALSE; + break; } -- cgit v1.2.1