diff --git a/ges/ges-internal.h b/ges/ges-internal.h index 7ab4f10701..0d3a60bf14 100644 --- a/ges/ges-internal.h +++ b/ges/ges-internal.h @@ -262,6 +262,7 @@ GList* ges_clip_create_track_elements (GESClip *clip, GESTrackType t /**************************************************** * GESTrackElement * ****************************************************/ +#define GNL_OBJECT_TRACK_ELEMENT_QUARK (g_quark_from_string ("gnl_object_track_element_quark")) G_GNUC_INTERNAL gboolean ges_track_element_set_track (GESTrackElement * object, GESTrack * track); G_GNUC_INTERNAL guint32 _ges_track_element_get_layer_priority (GESTrackElement * element); diff --git a/ges/ges-track-element.c b/ges/ges-track-element.c index 007f2e56b9..526e09a784 100644 --- a/ges/ges-track-element.c +++ b/ges/ges-track-element.c @@ -184,6 +184,8 @@ ges_track_element_dispose (GObject * object) gst_element_set_state (priv->gnlobject, GST_STATE_NULL); } + g_object_set_qdata (G_OBJECT (priv->gnlobject), + GNL_OBJECT_TRACK_ELEMENT_QUARK, NULL); gst_object_unref (priv->gnlobject); priv->gnlobject = NULL; } @@ -563,6 +565,8 @@ ensure_gnl_object (GESTrackElement * object) GST_DEBUG_OBJECT (object, "Got a valid GnlObject, now filling it in"); object->priv->gnlobject = gst_object_ref (gnlobject); + g_object_set_qdata (G_OBJECT (gnlobject), GNL_OBJECT_TRACK_ELEMENT_QUARK, + object); if (object->priv->timelineobj) res = ges_clip_fill_track_element (object->priv->timelineobj,