On Wed, 2017-08-30 at 21:15 +0200, Georg Chini wrote: > On 30.08.2017 20:51, Tanu Kaskinen wrote: > > Sources should probably be added to pa_core.sources in pa_source_put(), > > but currently they're added in pa_source_new(). A lot of stuff can > > happen between the pa_source_new() and pa_source_put() calls, and > > it has happened that the default source was updated during this time. > > Therefore, pa_core_update_default_source() needs to take it into account > > that not every source is necessarily linked. > > --- > > src/pulsecore/core.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/src/pulsecore/core.c b/src/pulsecore/core.c > > index e01677d5d..454c56685 100644 > > --- a/src/pulsecore/core.c > > +++ b/src/pulsecore/core.c > > @@ -315,6 +315,9 @@ void pa_core_update_default_sink(pa_core *core) { > > pa_assert(core); > > > > PA_IDXSET_FOREACH(sink, core->sinks, idx) { > > + if (!PA_SINK_IS_LINKED(sink->state)) > > + continue; > > + > > if (!best) { > > best = sink; > > continue; > > @@ -399,6 +402,9 @@ void pa_core_update_default_source(pa_core *core) { > > pa_assert(core); > > > > PA_IDXSET_FOREACH(source, core->sources, idx) { > > + if (!PA_SOURCE_IS_LINKED(source->state)) > > + continue; > > + > > if (!best) { > > best = source; > > continue; > > Looks good to me. Thanks! Applied. -- Tanu https://www.patreon.com/tanuk