summaryrefslogtreecommitdiffstats
path: root/ext/pulse/pulseprobe.c
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 /ext/pulse/pulseprobe.c
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.
Diffstat (limited to 'ext/pulse/pulseprobe.c')
-rw-r--r--ext/pulse/pulseprobe.c4
1 files changed, 1 insertions, 3 deletions
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);
}