xml-formatter: Fix some asset leaks
authorThibault Saunier <tsaunier@igalia.com>
Fri, 12 Apr 2019 22:31:07 +0000 (18:31 -0400)
committerThibault Saunier <tsaunier@igalia.com>
Mon, 15 Apr 2019 21:11:48 +0000 (17:11 -0400)
ges/ges-base-xml-formatter.c
ges/ges-project.c
tests/check/ges/project.c

index 1715f59..3058d4d 100644 (file)
@@ -513,7 +513,7 @@ _loading_done (GESFormatter * self)
   for (tmp = assets; tmp; tmp = tmp->next) {
     ges_asset_set_proxy (NULL, tmp->data);
   }
-  g_list_free (assets);
+  g_list_free_full (assets, g_object_unref);
 
   g_hash_table_foreach (priv->layers, (GHFunc) _set_auto_transition, NULL);
   ges_project_set_loaded (self->project, self);
index 8163c51..278fb6e 100644 (file)
@@ -370,7 +370,6 @@ ges_uri_assets_validate_uri (const gchar * nid)
 static void
 _dispose (GObject * object)
 {
-  GList *tmp;
   GESProjectPrivate *priv = GES_PROJECT (object)->priv;
 
   if (priv->assets)
@@ -382,8 +381,8 @@ _dispose (GObject * object)
   if (priv->formatter_asset)
     gst_object_unref (priv->formatter_asset);
 
-  for (tmp = priv->formatters; tmp; tmp = tmp->next)
-    ges_project_remove_formatter (GES_PROJECT (object), tmp->data);;
+  while (priv->formatters)
+    ges_project_remove_formatter (GES_PROJECT (object), priv->formatters->data);
 
   G_OBJECT_CLASS (ges_project_parent_class)->dispose (object);
 }
index 5228613..44b26bc 100644 (file)
@@ -351,7 +351,9 @@ _add_properties (GESTimeline * timeline)
                 (element), "posx", &posx, NULL);
             fail_unless_equals_int64 (posx, 42);
           }
+
         }
+        g_list_free_full (track_elements, g_object_unref);
         break;
       default:
         break;