diff --git a/src/modules/mixer/e_mod_main.c b/src/modules/mixer/e_mod_main.c index 4f1cd05f6..48699585f 100644 --- a/src/modules/mixer/e_mod_main.c +++ b/src/modules/mixer/e_mod_main.c @@ -1098,6 +1098,11 @@ _mixer_cb_volume_modify(Eina_Bool up) if (!ctxt->default_instance) return; + if ((ecore_loop_time_get() - ctxt->last_act_time) < 0.04) + return; + + ctxt->last_act_time = ecore_loop_time_get(); + if (ctxt->default_instance->conf->keybindings_popup) _mixer_popup_timer_new(ctxt->default_instance); _mixer_volume_change(ctxt->default_instance, up, EINA_TRUE); @@ -1130,6 +1135,11 @@ _mixer_cb_volume_mute(E_Object *obj __UNUSED__, const char *params __UNUSED__) if (!ctxt->default_instance) return; + if ((ecore_loop_time_get() - ctxt->last_act_time) < 0.1) + return; + + ctxt->last_act_time = ecore_loop_time_get(); + if (ctxt->default_instance->conf->keybindings_popup) _mixer_popup_timer_new(ctxt->default_instance); _mixer_toggle_mute(ctxt->default_instance, EINA_TRUE); diff --git a/src/modules/mixer/e_mod_main.h b/src/modules/mixer/e_mod_main.h index 659468072..d92633caa 100644 --- a/src/modules/mixer/e_mod_main.h +++ b/src/modules/mixer/e_mod_main.h @@ -69,6 +69,7 @@ typedef struct E_Mixer_Module_Context E_Mixer_Instance *default_instance; Eina_List *instances; E_Dialog *mixer_dialog; + double last_act_time; struct st_mixer_actions { E_Action *incr;