diff --git a/gst/gstutils.c b/gst/gstutils.c index 69458c05c6..a26bde6932 100644 --- a/gst/gstutils.c +++ b/gst/gstutils.c @@ -1363,11 +1363,13 @@ find_common_root (GstObject * o1, GstObject * o2) gst_object_unref (kid2); return root; } + gst_object_unref (root); root = kid2; if (!object_has_ancestor (o2, kid1, &kid2)) { gst_object_unref (kid1); return root; } + gst_object_unref (root); root = kid1; } } diff --git a/tests/check/pipelines/parse-launch.c b/tests/check/pipelines/parse-launch.c index 78a2ba4f65..091c747612 100644 --- a/tests/check/pipelines/parse-launch.c +++ b/tests/check/pipelines/parse-launch.c @@ -52,6 +52,7 @@ setup_pipeline (const gchar * pipe_descr) fail_unless (pipeline != NULL, "Failed to create pipeline %s", pipe_descr); /* Newly returned object should be floating reffed */ fail_unless (g_object_is_floating (pipeline)); + g_assert_cmpuint (G_OBJECT (pipeline)->ref_count, ==, 1); return pipeline; }