diff options
author | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2011-05-03 00:20:12 +0900 |
---|---|---|
committer | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2011-05-03 00:20:12 +0900 |
commit | d3db7acc1f53491b6dd9637991a1eaf8bb5c5002 (patch) | |
tree | f5eeb436fb7502254c4feb6df1dcf54e1bd193f5 /json-glib/json-gobject.c | |
parent | 9824a32a803bd194208d460068ce5ba91d776686 (diff) | |
download | json-glib-d3db7acc1f53491b6dd9637991a1eaf8bb5c5002.tar.gz |
Fixed json_deserialize_pspec() to handle null nodes.
This fixes deserialization to match serialization (bug 648539)
Diffstat (limited to 'json-glib/json-gobject.c')
-rw-r--r-- | json-glib/json-gobject.c | 14 |
1 files changed, 13 insertions, 1 deletions
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; } |