mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-29 19:50:40 +00:00
ges: Fix the TimelineObject::effect-added signal emission timing
We were emitting it before it gets added to the track_object list, so the list we were getting with get_top_effects was containing a TrackObject that wasen't a TrackEffect + A bit of refactoring
This commit is contained in:
parent
059b798d12
commit
9d4a528b9e
1 changed files with 8 additions and 6 deletions
|
@ -547,10 +547,6 @@ ges_timeline_object_add_track_object (GESTimelineObject * object, GESTrackObject
|
|||
}
|
||||
|
||||
priv->nb_effects++;
|
||||
|
||||
/* emit 'effect-added' */
|
||||
g_signal_emit (object, ges_timeline_object_signals[EFFECT_ADDED], 0,
|
||||
GES_TRACK_EFFECT (trobj));
|
||||
}
|
||||
|
||||
object->priv->trackobjects =
|
||||
|
@ -591,7 +587,12 @@ ges_timeline_object_add_track_object (GESTimelineObject * object, GESTrackObject
|
|||
if (!GES_IS_TRACK_PARSE_LAUNCH_EFFECT (trobj)) {
|
||||
g_signal_emit (object, ges_timeline_object_signals[TRACK_OBJECT_ADDED], 0,
|
||||
GES_TRACK_OBJECT (trobj));
|
||||
} else {
|
||||
/* emit 'effect-added' */
|
||||
g_signal_emit (object, ges_timeline_object_signals[EFFECT_ADDED], 0,
|
||||
GES_TRACK_EFFECT (trobj));
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -1165,12 +1166,13 @@ ges_timeline_object_get_top_effects (GESTimelineObject * object)
|
|||
|
||||
g_return_val_if_fail (GES_IS_TIMELINE_OBJECT (object), NULL);
|
||||
|
||||
GST_DEBUG_OBJECT (object, "Getting the %i top effects",
|
||||
object->priv->nb_effects);
|
||||
ret = NULL;
|
||||
|
||||
for (tmp = object->priv->trackobjects, i = 0; i < object->priv->nb_effects;
|
||||
tmp = tmp->next, i++) {
|
||||
ret = g_list_append (ret, tmp->data);
|
||||
g_object_ref (tmp->data);
|
||||
ret = g_list_append (ret, g_object_ref (tmp->data));
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
|
Loading…
Reference in a new issue