diff --git a/ges/ges-track-transition.c b/ges/ges-track-transition.c index 33bd2b03e9..dccc0cfb75 100644 --- a/ges/ges-track-transition.c +++ b/ges/ges-track-transition.c @@ -47,6 +47,13 @@ ges_track_transition_set_property (GObject * object, guint property_id, static void ges_track_transition_dispose (GObject * object) { + GESTrackTransition *self = GES_TRACK_TRANSITION (object); + if (self->controller) { + g_object_unref (self->controller); + self->controller = NULL; + self->control_source = NULL; + } + G_OBJECT_CLASS (ges_track_transition_parent_class)->dispose (object); } @@ -133,6 +140,8 @@ ges_track_transition_class_init (GESTrackTransitionClass * klass) static void ges_track_transition_init (GESTrackTransition * self) { + self->controller = NULL; + self->control_source = NULL; } GESTrackTransition * diff --git a/ges/ges-track-transition.h b/ges/ges-track-transition.h index 8947789787..8af3d28ee4 100644 --- a/ges/ges-track-transition.h +++ b/ges/ges-track-transition.h @@ -22,6 +22,8 @@ #define _GES_TRACK_TRANSITION #include +#include +#include #include #include @@ -46,9 +48,11 @@ G_BEGIN_DECLS #define GES_TRACK_TRANSITION_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), GES_TYPE_TRACK_TRANSITION,\ GESTrackTransitionClass) - -struct _GESTrackTransition { - GESTrackObject parent; + struct _GESTrackTransition +{ + GESTrackObject parent; + GstController *controller; + GstControlSource *control_source; }; struct _GESTrackTransitionClass {