summaryrefslogtreecommitdiffstats
path: root/ext/gconf/gstgconfaudiosink.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/gconf/gstgconfaudiosink.c')
-rw-r--r--ext/gconf/gstgconfaudiosink.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/ext/gconf/gstgconfaudiosink.c b/ext/gconf/gstgconfaudiosink.c
index 3ac1b897..0737af67 100644
--- a/ext/gconf/gstgconfaudiosink.c
+++ b/ext/gconf/gstgconfaudiosink.c
@@ -28,6 +28,7 @@
#include "gstgconfaudiosink.h"
static void gst_gconf_audio_sink_dispose (GObject * object);
+static void gst_gconf_audio_sink_finalize (GstGConfAudioSink * sink);
static void cb_change_child (GConfClient * client,
guint connection_id, GConfEntry * entry, gpointer data);
static GstStateChangeReturn
@@ -91,6 +92,7 @@ gst_gconf_audio_sink_class_init (GstGConfAudioSinkClass * klass)
oklass->set_property = gst_gconf_audio_sink_set_property;
oklass->get_property = gst_gconf_audio_sink_get_property;
oklass->dispose = gst_gconf_audio_sink_dispose;
+ oklass->finalize = (GObjectFinalizeFunc) gst_gconf_audio_sink_finalize;
eklass->change_state = gst_gconf_audio_sink_change_state;
g_object_class_install_property (oklass, PROP_PROFILE,
@@ -131,10 +133,15 @@ gst_gconf_audio_sink_dispose (GObject * object)
sink->client = NULL;
}
+ GST_CALL_PARENT (G_OBJECT_CLASS, dispose, (object));
+}
+
+static void
+gst_gconf_audio_sink_finalize (GstGConfAudioSink * sink)
+{
g_free (sink->gconf_str);
- sink->gconf_str = NULL;
- GST_CALL_PARENT (G_OBJECT_CLASS, dispose, (object));
+ GST_CALL_PARENT (G_OBJECT_CLASS, finalize, ((GObject *) (sink)));
}
static gboolean