GST_CAT_DEBUG_OBJECT (GST_CAT_PARENTAGE, bin, "added element \"%s\"",
elem_name);
- g_free (elem_name);
g_signal_emit (bin, gst_bin_signals[ELEMENT_ADDED], 0, element);
- gst_child_proxy_child_added ((GObject *) bin, (GObject *) element);
+ gst_child_proxy_child_added ((GObject *) bin, (GObject *) element, elem_name);
+
+ g_free (elem_name);
return TRUE;
GST_CAT_INFO_OBJECT (GST_CAT_PARENTAGE, bin, "removed child \"%s\"",
elem_name);
- g_free (elem_name);
gst_element_set_bus (element, NULL);
GST_OBJECT_UNLOCK (element);
g_signal_emit (bin, gst_bin_signals[ELEMENT_REMOVED], 0, element);
- gst_child_proxy_child_removed ((GObject *) bin, (GObject *) element);
+ gst_child_proxy_child_removed ((GObject *) bin, (GObject *) element,
+ elem_name);
+ g_free (elem_name);
/* element is really out of our control now */
gst_object_unref (element);