diff options
author | Thibault Saunier <thibault.saunier@collabora.com> | 2013-06-28 19:15:59 -0400 |
---|---|---|
committer | Mathieu Duponchelle <mathieu.duponchelle@epitech.eu> | 2013-07-09 22:13:41 +0200 |
commit | 7412de6f6ca71c58b82752637382c0d412af4d5c (patch) | |
tree | c594669aa23bc28117f07d00454b610d6820526e | |
parent | 8bc88a2ba82c3819d7586864b20581273c2784d4 (diff) |
ges: Avoid leaking the timeline when grouping containers
-rw-r--r-- | ges/ges-clip.c | 4 | ||||
-rw-r--r-- | ges/ges-container.c | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/ges/ges-clip.c b/ges/ges-clip.c index e86f54d..b2b1a65 100644 --- a/ges/ges-clip.c +++ b/ges/ges-clip.c @@ -263,6 +263,8 @@ _add_child (GESContainer * container, GESTimelineElement * element) guint max_prio, min_prio; GESClipPrivate *priv = GES_CLIP (container)->priv; + g_return_val_if_fail (GES_IS_TRACK_ELEMENT (element), FALSE); + /* First make sure we work with a sorted list of GESTimelineElement-s */ _ges_container_sort_children (container); @@ -432,7 +434,7 @@ _group (GList * containers) goto done; } clip = GES_CLIP (tmp->data); - tmptimeline = ges_timeline_element_get_timeline (element); + tmptimeline = GES_TIMELINE_ELEMENT_TIMELINE (element); if (!timeline) { GList *tmptrack; diff --git a/ges/ges-container.c b/ges/ges-container.c index 5ea7f57..708ddf0 100644 --- a/ges/ges-container.c +++ b/ges/ges-container.c @@ -652,7 +652,7 @@ ges_container_group (GList * containers) g_return_val_if_fail (containers, NULL); element = GES_TIMELINE_ELEMENT (containers->data); - timeline = ges_timeline_element_get_timeline (element); + timeline = GES_TIMELINE_ELEMENT_TIMELINE (element); g_return_val_if_fail (timeline, NULL); if (g_list_length (containers) == 1) @@ -660,8 +660,10 @@ ges_container_group (GList * containers) for (tmp = containers; tmp; tmp = tmp->next) { g_return_val_if_fail (GES_IS_CONTAINER (tmp->data), NULL); - g_return_val_if_fail (ges_timeline_element_get_timeline - (GES_TIMELINE_ELEMENT (tmp->data)) == timeline, NULL); + g_return_val_if_fail (GES_TIMELINE_ELEMENT_PARENT (tmp->data) == NULL, + NULL); + g_return_val_if_fail (GES_TIMELINE_ELEMENT_TIMELINE (tmp->data) == timeline, + NULL); } children_types = g_type_children (GES_TYPE_CONTAINER, &n_children); |