sink-input,source-output: Handle devices going away in unlink hooks

If a *_UNLINK_POST hook causes a sink-input/source-output's sink/source
to go away, the subsequent attempt to update the sink/source status will
cause an assert. We deal with this by checking the sink/source status
before trying to update it.
This commit is contained in:
Arun Raghavan 2012-02-09 16:50:31 +05:30
parent 89a49d9611
commit 0521db6cf7
2 changed files with 6 additions and 2 deletions

View file

@ -587,7 +587,9 @@ void pa_source_output_unlink(pa_source_output*o) {
}
if (o->source) {
pa_source_update_status(o->source);
if (PA_SOURCE_IS_LINKED(pa_source_get_state(o->source)))
pa_source_update_status(o->source);
o->source = NULL;
}