mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +00:00
Fix segfault when adding clips to group outside a timeline
Making sure that objects are inside a timeline before adding/removing them from it Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/issues/35
This commit is contained in:
parent
35e39083a2
commit
9748b963b6
1 changed files with 5 additions and 3 deletions
|
@ -455,7 +455,8 @@ _child_added (GESContainer * group, GESTimelineElement * child)
|
|||
GESGroupPrivate *priv = GES_GROUP (group)->priv;
|
||||
GstClockTime last_child_end = 0, first_child_start = G_MAXUINT64;
|
||||
|
||||
if (!GES_TIMELINE_ELEMENT_TIMELINE (group)) {
|
||||
if (!GES_TIMELINE_ELEMENT_TIMELINE (group)
|
||||
&& GES_TIMELINE_ELEMENT_TIMELINE (child)) {
|
||||
timeline_add_group (GES_TIMELINE_ELEMENT_TIMELINE (child),
|
||||
GES_GROUP (group));
|
||||
timeline_emit_group_added (GES_TIMELINE_ELEMENT_TIMELINE (child),
|
||||
|
@ -554,8 +555,9 @@ _child_removed (GESContainer * group, GESTimelineElement * child)
|
|||
g_free (signals_ids_key);
|
||||
if (children == NULL) {
|
||||
GST_FIXME_OBJECT (group, "Auto destroy myself?");
|
||||
timeline_remove_group (GES_TIMELINE_ELEMENT_TIMELINE (group),
|
||||
GES_GROUP (group));
|
||||
if (GES_TIMELINE_ELEMENT_TIMELINE (group))
|
||||
timeline_remove_group (GES_TIMELINE_ELEMENT_TIMELINE (group),
|
||||
GES_GROUP (group));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue