gst/gstpluginfeature.c: Avoid double memory usage for pluginfeature names. Fixes...
authorStefan Kost <ensonic@users.sourceforge.net>
Mon, 23 Jul 2007 10:39:10 +0000 (10:39 +0000)
committerStefan Kost <ensonic@users.sourceforge.net>
Mon, 23 Jul 2007 10:39:10 +0000 (10:39 +0000)
Original commit message from CVS:
* gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
(gst_plugin_feature_set_name):
Avoid double memory usage for pluginfeature names. Fixes #459466.

ChangeLog
gst/gstpluginfeature.c

index 4c581c8..985414f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-07-23  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
+       (gst_plugin_feature_set_name):
+         Avoid double memory usage for pluginfeature names. Fixes #459466.
+
 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
 
        * gst/gstpad.h:
index 4430874..66fdbf1 100644 (file)
@@ -68,7 +68,6 @@ gst_plugin_feature_finalize (GObject * object)
 
   GST_DEBUG ("finalizing feature %p: '%s'", feature,
       GST_PLUGIN_FEATURE_NAME (feature));
-  g_free (feature->name);
   g_free (feature->plugin_name);
 
   G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -184,9 +183,9 @@ gst_plugin_feature_set_name (GstPluginFeature * feature, const gchar * name)
   if (feature->name) {
     g_return_if_fail (strcmp (feature->name, name) == 0);
   } else {
-    feature->name = g_strdup (name);
+    gst_object_set_name (GST_OBJECT (feature), name);
+    feature->name = GST_OBJECT_NAME (GST_OBJECT (feature));
   }
-  gst_object_set_name (GST_OBJECT (feature), feature->name);
 }
 
 /**