summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/source.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2009-04-10 01:21:16 +0200
committerLennart Poettering <lennart@poettering.net>2009-04-10 01:21:16 +0200
commit9ae8ca2c3754abb9b6f6ce94c414c12d87419ac0 (patch)
tree3586b254321aa57758162f1648467fcd55ac2ea6 /src/pulsecore/source.c
parentdcd4a73df94b0e9083f72d79f81083961bd15746 (diff)
core: memory leak, fix ref counting when moving streams
Diffstat (limited to 'src/pulsecore/source.c')
-rw-r--r--src/pulsecore/source.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c
index b85d6e12..693fab3c 100644
--- a/src/pulsecore/source.c
+++ b/src/pulsecore/source.c
@@ -466,8 +466,12 @@ pa_queue *pa_source_move_all_start(pa_source *s) {
for (o = PA_SOURCE_OUTPUT(pa_idxset_first(s->outputs, &idx)); o; o = n) {
n = PA_SOURCE_OUTPUT(pa_idxset_next(s->outputs, &idx));
+ pa_source_output_ref(o);
+
if (pa_source_output_start_move(o) >= 0)
- pa_queue_push(q, pa_source_output_ref(o));
+ pa_queue_push(q, o);
+ else
+ pa_source_output_unref(o);
}
return q;