From 568a67607367c6faedc37695da3f0c115fd93028 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Bouchaud=20=28yoz=29?= Date: Fri, 4 Nov 2016 11:03:11 +0100 Subject: [PATCH] mixer: Don't sync volume sink with e_client if they have more than one. If we got more than one volume sink in e_client and we change the volume of one of them all sink of this e_client are updated to the same volume. So don't update e_client volume if we got more than 1 sink. T4821 --- src/modules/mixer/e_mod_main.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/modules/mixer/e_mod_main.c b/src/modules/mixer/e_mod_main.c index 954fd19ae..cc24b40a5 100644 --- a/src/modules/mixer/e_mod_main.c +++ b/src/modules/mixer/e_mod_main.c @@ -950,7 +950,18 @@ _sink_input_event(int type, Emix_Sink_Input *input) { if (sink->data == input) { - e_client_volume_sink_update(sink); + Eina_Bool update = EINA_TRUE; + EINA_LIST_FOREACH(sink->clients, l, ec) + { + if (eina_list_count(ec->sinks) > 1) + { + update = EINA_FALSE; + break; + } + } + if (update) + e_client_volume_sink_update(sink); + } } break;