ext/pulse/pulseprobe.c: Fix refcount loop, resulting in a thread leak. Fixes bug #567746.

Original commit message from CVS:
Patch by: Lennart Poettering <lennart at poettering dot net>
* ext/pulse/pulseprobe.c: (gst_pulseprobe_new),
(gst_pulseprobe_free):
Fix refcount loop, resulting in a thread leak. Fixes bug #567746.
This commit is contained in:
Lennart Poettering 2009-01-14 15:37:07 +00:00 committed by Sebastian Dröge
parent 5d001b3ab6
commit b1c6dec543
2 changed files with 9 additions and 3 deletions

View file

@ -1,3 +1,11 @@
2009-01-14 Sebastian Dröge <sebastian.droege@collabora.co.uk>
Patch by: Lennart Poettering <lennart at poettering dot net>
* 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 <sebastian.droege@collabora.co.uk> 2009-01-14 Sebastian Dröge <sebastian.droege@collabora.co.uk>
* gst/spectrum/Makefile.am: * gst/spectrum/Makefile.am:

View file

@ -263,7 +263,7 @@ gst_pulseprobe_new (GObject * object, GObjectClass * klass, guint prop_id,
GstPulseProbe *c = NULL; GstPulseProbe *c = NULL;
c = g_new (GstPulseProbe, 1); 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->server = g_strdup (server);
c->enumerate_sinks = sinks; c->enumerate_sinks = sinks;
c->enumerate_sources = sources; c->enumerate_sources = sources;
@ -293,8 +293,6 @@ gst_pulseprobe_free (GstPulseProbe * c)
g_list_foreach (c->devices, (GFunc) g_free, NULL); g_list_foreach (c->devices, (GFunc) g_free, NULL);
g_list_free (c->devices); g_list_free (c->devices);
g_object_unref (c->object);
g_free (c); g_free (c);
} }