ges: modifies emission of the track/object-removed signal

Make it be emitted right before the track objects is removed so we don't end up
with a TrackObject that has already been freed
This commit is contained in:
Mathieu Duponchelle 2011-08-24 12:06:22 +02:00 committed by Thibault Saunier
parent 55fbba27c3
commit e1d97cfee0

View file

@ -494,11 +494,12 @@ ges_track_remove_object (GESTrack * track, GESTrackObject * object)
} }
ges_track_object_set_track (object, NULL); ges_track_object_set_track (object, NULL);
priv->trackobjects = g_list_remove (priv->trackobjects, object);
g_signal_emit (track, ges_track_signals[TRACK_OBJECT_REMOVED], 0, g_signal_emit (track, ges_track_signals[TRACK_OBJECT_REMOVED], 0,
GES_TRACK_OBJECT (object)); GES_TRACK_OBJECT (object));
priv->trackobjects = g_list_remove (priv->trackobjects, object);
g_object_unref (object); g_object_unref (object);
return TRUE; return TRUE;