diff --git a/ChangeLog b/ChangeLog index bd1881ce2b..d4f52f8d5b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-04-17 Wim Taymans + + * gst/gstvalue.c: (gst_value_deserialize_caps): + * gst/parse/grammar.y: + Fix 2 caps leaks. + 2008-04-17 Sebastian Dröge * gst/gstutils.c: (gst_atomic_int_set): diff --git a/gst/gstvalue.c b/gst/gstvalue.c index f69fb655a6..427bd0d668 100644 --- a/gst/gstvalue.c +++ b/gst/gstvalue.c @@ -1280,7 +1280,7 @@ gst_value_deserialize_caps (GValue * dest, const gchar * s) caps = gst_caps_from_string (s); if (caps) { - g_value_set_boxed (dest, caps); + g_value_take_boxed (dest, caps); return TRUE; } return FALSE; diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y index b99cde8107..b3bf388d47 100644 --- a/gst/parse/grammar.y +++ b/gst/parse/grammar.y @@ -339,6 +339,7 @@ gst_parse_element_set (gchar *value, GstElement *element, graph_t *graph) if (!gst_value_deserialize (&v, pos)) goto error; g_object_set_property (G_OBJECT (target), pspec->name, &v); + g_value_unset (&v); } else { /* do a delayed set */ if (GST_IS_CHILD_PROXY (element)) {