From c8b3e13a9c773063db811e4e52e809dbaf7181cc Mon Sep 17 00:00:00 2001 From: Justin Kim Date: Mon, 28 Sep 2015 13:21:11 +0900 Subject: [PATCH] structure-parser: define GES_STRUCTURE_PARSER macro And fix trivial leakages of internal list structure. https://bugzilla.gnome.org/show_bug.cgi?id=755716 --- ges/ges-structure-parser.c | 11 +++-------- ges/ges-structure-parser.h | 1 + 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/ges/ges-structure-parser.c b/ges/ges-structure-parser.c index 5c276fd51e..8acb048043 100644 --- a/ges/ges-structure-parser.c +++ b/ges/ges-structure-parser.c @@ -32,15 +32,10 @@ ges_structure_parser_init (GESStructureParser * self) static void _finalize (GObject * self) { - GList *tmp; + GESStructureParser *parser = GES_STRUCTURE_PARSER (self); - for (tmp = ((GESStructureParser *) self)->structures; tmp; tmp = tmp->next) { - gst_structure_free (tmp->data); - } - - for (tmp = ((GESStructureParser *) self)->wrong_strings; tmp; tmp = tmp->next) { - g_free (tmp->data); - } + g_list_free_full (parser->structures, (GDestroyNotify) gst_structure_free); + g_list_free_full (parser->wrong_strings, (GDestroyNotify) g_free); } static void diff --git a/ges/ges-structure-parser.h b/ges/ges-structure-parser.h index 587c7ce144..9dedbc4175 100644 --- a/ges/ges-structure-parser.h +++ b/ges/ges-structure-parser.h @@ -26,6 +26,7 @@ G_BEGIN_DECLS #define GES_TYPE_STRUCTURE_PARSER ges_structure_parser_get_type() +#define GES_STRUCTURE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GES_TYPE_STRUCTURE_PARSER, GESStructureParser)) typedef struct _GESStructureParser GESStructureParser; typedef struct _GESStructureParserClass GESStructureParserClass;