mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 01:45:33 +00:00
timeline: Fix infinite loop on dispose
Reviewed-by: Thibault Saunier <thibault.saunier@collabora.com> Differential Revision: https://phabricator.freedesktop.org/D628
This commit is contained in:
parent
2fae9ee50d
commit
0c46363f74
1 changed files with 5 additions and 2 deletions
|
@ -338,6 +338,7 @@ ges_timeline_dispose (GObject * object)
|
|||
{
|
||||
GESTimeline *tl = GES_TIMELINE (object);
|
||||
GESTimelinePrivate *priv = tl->priv;
|
||||
GList *tmp;
|
||||
|
||||
while (tl->layers) {
|
||||
GESLayer *layer = (GESLayer *) tl->layers->data;
|
||||
|
@ -352,10 +353,12 @@ ges_timeline_dispose (GObject * object)
|
|||
while (tl->tracks)
|
||||
ges_timeline_remove_track (GES_TIMELINE (object), tl->tracks->data);
|
||||
|
||||
while (priv->groups)
|
||||
g_list_free_full (ges_container_ungroup (priv->groups->data, FALSE),
|
||||
for (tmp = priv->groups; tmp; tmp = tmp->next)
|
||||
g_list_free_full (ges_container_ungroup (tmp->data, FALSE),
|
||||
gst_object_unref);
|
||||
|
||||
g_list_free (priv->groups);
|
||||
|
||||
g_hash_table_unref (priv->by_start);
|
||||
g_hash_table_unref (priv->by_end);
|
||||
g_hash_table_unref (priv->by_object);
|
||||
|
|
Loading…
Reference in a new issue