diff --git a/ges/ges-container.c b/ges/ges-container.c index cebaa3e5c9..219abf672d 100644 --- a/ges/ges-container.c +++ b/ges/ges-container.c @@ -220,6 +220,8 @@ _ges_container_add_child_properties (GESContainer * container, if (ges_timeline_element_lookup_child (child, prop_name, &prop_child, NULL)) { ges_timeline_element_add_child_property (GES_TIMELINE_ELEMENT (container), child_props[i], prop_child); + gst_object_unref (prop_child); + } g_free (prop_name); g_param_spec_unref (child_props[i]); @@ -247,6 +249,7 @@ _ges_container_remove_child_properties (GESContainer * container, if (ges_timeline_element_lookup_child (child, prop_name, &prop_child, NULL)) { ges_timeline_element_remove_child_property (GES_TIMELINE_ELEMENT (container), child_props[i]); + gst_object_unref (prop_child); } diff --git a/ges/ges-timeline-element.c b/ges/ges-timeline-element.c index e03f1f0af6..107547e3a5 100644 --- a/ges/ges-timeline-element.c +++ b/ges/ges-timeline-element.c @@ -1315,6 +1315,8 @@ ges_timeline_element_set_child_property_by_pspec (GESTimelineElement * self, goto not_found; g_object_set_property (child, pspec->name, value); + gst_object_unref (child); + g_param_spec_unref (pspec); return; @@ -1493,6 +1495,7 @@ ges_timeline_element_set_child_property_valist (GESTimelineElement * self, g_object_set_property (child, pspec->name, &value); gst_object_unref (child); + g_param_spec_unref (pspec); g_value_unset (&value); name = va_arg (var_args, gchar *); @@ -1509,6 +1512,8 @@ cant_copy: GST_WARNING_OBJECT (self, "error copying value %s in %p: %s", pspec->name, self, error); + gst_object_unref (child); + g_param_spec_unref (pspec); g_value_unset (&value); return; } @@ -1574,6 +1579,7 @@ ges_timeline_element_get_child_property_valist (GESTimelineElement * self, g_value_init (&value, pspec->value_type); g_object_get_property (child, pspec->name, &value); gst_object_unref (child); + g_param_spec_unref (pspec); G_VALUE_LCOPY (&value, var_args, 0, &error); if (error)