diff --git a/ChangeLog b/ChangeLog index 6d3d7e4ad1..433217a9fa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-01-25 Wim Taymans + + * gst/playback/gstplaybasebin.c: (remove_source): + Don't try to disconnect a signal from a finalized object. + 2007-01-25 Tim-Philipp Müller * gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose): diff --git a/gst/playback/gstplaybasebin.c b/gst/playback/gstplaybasebin.c index 504a9d4d17..bb6abe03d2 100644 --- a/gst/playback/gstplaybasebin.c +++ b/gst/playback/gstplaybasebin.c @@ -1899,7 +1899,6 @@ remove_source (GstPlayBaseBin * bin) if (source) { GST_DEBUG_OBJECT (bin, "removing old src element"); gst_element_set_state (source, GST_STATE_NULL); - gst_bin_remove (GST_BIN_CAST (bin), source); if (bin->src_np_sig_id) { g_signal_handler_disconnect (G_OBJECT (source), bin->src_np_sig_id); @@ -1909,6 +1908,7 @@ remove_source (GstPlayBaseBin * bin) g_signal_handler_disconnect (G_OBJECT (source), bin->src_nmp_sig_id); bin->src_nmp_sig_id = 0; } + gst_bin_remove (GST_BIN_CAST (bin), source); bin->source = NULL; } }