summaryrefslogtreecommitdiffstats
path: root/src/source.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2004-06-14 20:30:50 +0000
committerLennart Poettering <lennart@poettering.net>2004-06-14 20:30:50 +0000
commit5ce204829fe6706a5edaec50769abf7eed266656 (patch)
treeda0930ee55ce9e99ecd8be799395221e112d2e3b /src/source.c
parentc8cf0c1ce9cf1b38b302ae4a2a6fa798fef85f08 (diff)
more cleanups
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@11 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/source.c')
-rw-r--r--src/source.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/source.c b/src/source.c
index a1e7b245..2d5e9bbd 100644
--- a/src/source.c
+++ b/src/source.c
@@ -28,11 +28,14 @@ struct source* source_new(struct core *core, const char *name, const struct samp
}
void source_free(struct source *s) {
- struct output_stream *o;
+ struct output_stream *o, *j = NULL;
assert(s);
- while ((o = idxset_rrobin(s->output_streams, NULL)))
+ while ((o = idxset_first(s->output_streams, NULL))) {
+ assert(o != j);
output_stream_free(o);
+ j = o;
+ }
idxset_free(s->output_streams, NULL, NULL);
idxset_remove_by_data(s->core->sources, s, NULL);