diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-01-14 15:37:07 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2009-01-14 15:37:07 +0000 |
commit | b1c6dec543d6445151631ea13825820f2ad3914d (patch) | |
tree | e9967d78faeb01f4e113a8ca77de01d5cf640cf9 | |
parent | 5d001b3ab629e91803c369fd843b75c728ebfdd2 (diff) |
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.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ext/pulse/pulseprobe.c | 4 |
2 files changed, 9 insertions, 3 deletions
@@ -1,5 +1,13 @@ 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> + * gst/spectrum/Makefile.am: * gst/spectrum/README: * gst/spectrum/gstspectrum.c: (gst_spectrum_base_init), diff --git a/ext/pulse/pulseprobe.c b/ext/pulse/pulseprobe.c index a25585bd..59a250be 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); } |