From 68cc2996cc1e0bfe53d35eafdd26ce4572a10ce9 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 7 Oct 2008 22:47:32 +0200 Subject: after calling PA_CORE_HOOK_SINK_SET_VOLUME hook, check again whether the volume changed --- src/pulsecore/sink.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/pulsecore/sink.c') diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c index 7e920490..d8d1f792 100644 --- a/src/pulsecore/sink.c +++ b/src/pulsecore/sink.c @@ -856,8 +856,12 @@ void pa_sink_set_volume(pa_sink *s, const pa_cvolume *volume) { changed = !pa_cvolume_equal(&data.volume, &s->volume); - if (changed && pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SINK_SET_VOLUME], &data) < 0) - return; + if (changed) { + if (pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SINK_SET_VOLUME], &data) < 0) + return; + + changed = !pa_cvolume_equal(&data.volume, &s->volume); + } s->volume = data.volume; -- cgit