free mixer in dispose separately from sink pads
authorBrandon Lewis <brandon@collabora.co.uk>
Mon, 28 Jun 2010 16:20:15 +0000 (18:20 +0200)
committerEdward Hervey <edward.hervey@collabora.co.uk>
Fri, 9 Jul 2010 11:21:13 +0000 (13:21 +0200)
ges/ges-track-video-transition.c

index a9894f1..1ea8e92 100644 (file)
@@ -109,18 +109,22 @@ ges_track_video_transition_dispose (GObject * object)
     self->control_source = NULL;
   }
 
-  if (self->mixer && self->sinka && self->sinkb) {
+  if (self->sinka && self->sinkb) {
     GST_DEBUG ("releasing request pads for mixer");
     gst_element_release_request_pad (self->mixer, self->sinka);
     gst_element_release_request_pad (self->mixer, self->sinkb);
-    gst_object_unref (self->mixer);
     gst_object_unref (self->sinka);
     gst_object_unref (self->sinkb);
-    self->mixer = NULL;
     self->sinka = NULL;
     self->sinkb = NULL;
   }
 
+  if (self->mixer) {
+    GST_LOG ("unrefing mixer");
+    gst_object_unref (self->mixer);
+    self->mixer = NULL;
+  }
+
   G_OBJECT_CLASS (ges_track_video_transition_parent_class)->dispose (object);
 }