summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2011-05-04 01:47:14 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2011-05-04 01:47:14 +0800
commit595bdd9cc160f10edefb9e54f45cb4727f39ac24 (patch)
tree32217a6a77c48d96f61fafc11aedf31b27199cd7
parent46a8e576f2fae9563219fcd72a9866826e684559 (diff)
parentd3db7acc1f53491b6dd9637991a1eaf8bb5c5002 (diff)
downloadjson-glib-msvc-patch.tar.gz
Merge branch 'master' into msvc-patchmsvc-patch
-rw-r--r--json-glib/json-gobject.c17
-rw-r--r--json-glib/json-reader.c2
2 files changed, 17 insertions, 2 deletions
diff --git a/json-glib/json-gobject.c b/json-glib/json-gobject.c
index 5742188..a653712 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);
}
@@ -562,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;
}
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 @@
* &ast;/
* 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);
* }
* ]|