summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2009-01-14 15:37:07 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2009-01-14 15:37:07 +0000
commitb1c6dec543d6445151631ea13825820f2ad3914d (patch)
treee9967d78faeb01f4e113a8ca77de01d5cf640cf9
parent5d001b3ab629e91803c369fd843b75c728ebfdd2 (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--ChangeLog8
-rw-r--r--ext/pulse/pulseprobe.c4
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 284c8f25..5437ff9b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);
}