diff options
Diffstat (limited to 'src/pulsecore/source.c')
-rw-r--r-- | src/pulsecore/source.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c index cfbc62688..d56a13ddd 100644 --- a/src/pulsecore/source.c +++ b/src/pulsecore/source.c @@ -603,10 +603,12 @@ void pa_source_put(pa_source *s) { else pa_assert_se(source_set_state(s, PA_SOURCE_IDLE) == 0); - pa_core_update_default_source(s->core); - pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE | PA_SUBSCRIPTION_EVENT_NEW, s->index); pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SOURCE_PUT], s); + + /* This function must be called after the PA_CORE_HOOK_SOURCE_PUT hook, + * because module-switch-on-connect needs to know the old default source */ + pa_core_update_default_source(s->core); } /* Called from main context */ |