diff --git a/ChangeLog b/ChangeLog index 284c8f2509..5437ff9bd6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2009-01-14 Sebastian Dröge + + Patch by: Lennart Poettering + + * ext/pulse/pulseprobe.c: (gst_pulseprobe_new), + (gst_pulseprobe_free): + Fix refcount loop, resulting in a thread leak. Fixes bug #567746. + 2009-01-14 Sebastian Dröge * gst/spectrum/Makefile.am: diff --git a/ext/pulse/pulseprobe.c b/ext/pulse/pulseprobe.c index a25585bdf1..59a250bec3 100644 --- a/ext/pulse/pulseprobe.c +++ b/ext/pulse/pulseprobe.c @@ -263,7 +263,7 @@ gst_pulseprobe_new (GObject * object, GObjectClass * klass, guint prop_id, GstPulseProbe *c = NULL; c = g_new (GstPulseProbe, 1); - c->object = g_object_ref (object); + c->object = object; /* We don't inc the ref counter here to avoid a ref loop */ c->server = g_strdup (server); c->enumerate_sinks = sinks; c->enumerate_sources = sources; @@ -293,8 +293,6 @@ gst_pulseprobe_free (GstPulseProbe * c) g_list_foreach (c->devices, (GFunc) g_free, NULL); g_list_free (c->devices); - g_object_unref (c->object); - g_free (c); }