diff options
author | Philip Withnall <philip.withnall@collabora.co.uk> | 2015-07-08 09:46:15 +0100 |
---|---|---|
committer | Philip Withnall <philip.withnall@collabora.co.uk> | 2015-07-08 09:46:15 +0100 |
commit | 6d66dcb54b4919a3a0f7cb1600c218e0199bfa1f (patch) | |
tree | dccf26b6cec43b70da08a1bba837a25580be585d /gdata/app | |
parent | 34d139a4d7b036c4bb65cb66c594ff4957e8a056 (diff) | |
download | libgdata-6d66dcb54b4919a3a0f7cb1600c218e0199bfa1f.tar.gz |
app: Fix parsing of YouTube categories
The GDataAPPCategories parser used to take in the GType of the
GDataCategory subclass to construct when parsing its category list; in
the port to JSON, it was accidentally changed to always construct
GDataCategory instances. This broke the YouTube code, which was hoping
to see GDataYouTubeCategory instances be constructed.
Diffstat (limited to 'gdata/app')
-rw-r--r-- | gdata/app/gdata-app-categories.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gdata/app/gdata-app-categories.c b/gdata/app/gdata-app-categories.c index 6fbf5f67..84a23a82 100644 --- a/gdata/app/gdata-app-categories.c +++ b/gdata/app/gdata-app-categories.c @@ -146,6 +146,10 @@ parse_json (GDataParsable *parsable, JsonReader *reader, gpointer user_data, GEr { GDataAPPCategories *self = GDATA_APP_CATEGORIES (parsable); GDataAPPCategoriesPrivate *priv = self->priv; + GType category_type; + + category_type = (user_data == NULL) ? + GDATA_TYPE_CATEGORY : GPOINTER_TO_SIZE (user_data); if (g_strcmp0 (json_reader_get_member_name (reader), "items") == 0) { guint i, elements; @@ -177,7 +181,10 @@ parse_json (GDataParsable *parsable, JsonReader *reader, gpointer user_data, GEr } /* Create the category. */ - category = gdata_category_new (id, NULL, title); + category = g_object_new (category_type, + "term", id, + "label", title, + NULL); priv->categories = g_list_prepend (priv->categories, category); |