diff --git a/ChangeLog b/ChangeLog index 02152405f0..fd89098dea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-09-13 Ronald S. Bultje + + * gst/playback/gstplaybasebin.c: + (gst_play_base_bin_dispose), (gst_play_base_bin_set_property): + Handle double disposals, and proper change of URIs. + 2004-09-13 Ronald S. Bultje * ext/gnomevfs/Makefile.am: diff --git a/gst/playback/gstplaybasebin.c b/gst/playback/gstplaybasebin.c index 2baadd5c73..e225bf1886 100644 --- a/gst/playback/gstplaybasebin.c +++ b/gst/playback/gstplaybasebin.c @@ -186,6 +186,7 @@ gst_play_base_bin_dispose (GObject * object) play_base_bin = GST_PLAY_BASE_BIN (object); g_free (play_base_bin->uri); + play_base_bin->uri = NULL; if (G_OBJECT_CLASS (parent_class)->dispose) { G_OBJECT_CLASS (parent_class)->dispose (object); @@ -415,7 +416,7 @@ gst_play_base_bin_set_property (GObject * object, guint prop_id, g_warning ("cannot set NULL uri"); return; } - if (!play_base_bin->uri || !strcmp (play_base_bin->uri, uri)) { + if (!play_base_bin->uri || strcmp (play_base_bin->uri, uri) != 0) { g_free (play_base_bin->uri); play_base_bin->uri = g_strdup (uri);