summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/modules/mixer/e_mod_main.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/modules/mixer/e_mod_main.c b/src/modules/mixer/e_mod_main.c
index db7a1d76f..970c1abf3 100644
--- a/src/modules/mixer/e_mod_main.c
+++ b/src/modules/mixer/e_mod_main.c
@@ -127,7 +127,8 @@ static void
127_mixer_popup_update(Instance *inst, int mute, int vol) 127_mixer_popup_update(Instance *inst, int mute, int vol)
128{ 128{
129 elm_check_state_set(inst->check, !!mute); 129 elm_check_state_set(inst->check, !!mute);
130 elm_slider_value_set(inst->slider, vol); 130 if (!evas_object_data_del(inst->slider, "__lock"))
131 elm_slider_value_set(inst->slider, vol);
131} 132}
132 133
133static void _popup_del(Instance *inst); 134static void _popup_del(Instance *inst);
@@ -399,6 +400,14 @@ _slider_drag_stop_cb(void *data EINA_UNUSED, Evas_Object *obj,
399 Emix_Sink *s = (Emix_Sink *)mixer_context->sink_default; 400 Emix_Sink *s = (Emix_Sink *)mixer_context->sink_default;
400 int val = s->volume.volumes[0]; 401 int val = s->volume.volumes[0];
401 elm_slider_value_set(obj, val); 402 elm_slider_value_set(obj, val);
403 evas_object_data_del(obj, "__lock");
404}
405
406static void
407_slider_drag_start_cb(void *data EINA_UNUSED, Evas_Object *obj,
408 void *event EINA_UNUSED)
409{
410 evas_object_data_set(obj, "__lock", (void*)1);
402} 411}
403 412
404static void 413static void
@@ -466,6 +475,7 @@ _popup_new(Instance *inst)
466 elm_slider_min_max_set(slider, 0.0, emix_max_volume_get()); 475 elm_slider_min_max_set(slider, 0.0, emix_max_volume_get());
467 evas_object_smart_callback_add(slider, "changed", _slider_changed_cb, NULL); 476 evas_object_smart_callback_add(slider, "changed", _slider_changed_cb, NULL);
468 evas_object_smart_callback_add(slider, "slider,drag,stop", _slider_drag_stop_cb, NULL); 477 evas_object_smart_callback_add(slider, "slider,drag,stop", _slider_drag_stop_cb, NULL);
478 evas_object_smart_callback_add(slider, "slider,drag,start", _slider_drag_start_cb, NULL);
469 elm_slider_value_set(slider, volume); 479 elm_slider_value_set(slider, volume);
470 elm_box_pack_end(bx, slider); 480 elm_box_pack_end(bx, slider);
471 evas_object_show(slider); 481 evas_object_show(slider);