bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=8724313b8e4c9799c5d20b876d5aaa9e5341d519
commit 8724313b8e4c9799c5d20b876d5aaa9e5341d519 Author: Marcel Hollerbach <[email protected]> Date: Fri Oct 28 11:35:45 2016 +0200 mixer: do not set back the value from emix once the drag is finished emix can still have wrong values from pa, and thus the value will jump back and later come back to the right pos: Here a video of what is happening: http://omicron.homeip.net/filedump/mixer_gadget_bug.ogv Thank you morluxus! --- src/modules/mixer/e_mod_main.c | 11 ----------- src/modules/mixer/emixer.c | 13 ------------- 2 files changed, 24 deletions(-) diff --git a/src/modules/mixer/e_mod_main.c b/src/modules/mixer/e_mod_main.c index 15aa4af..5786bed 100644 --- a/src/modules/mixer/e_mod_main.c +++ b/src/modules/mixer/e_mod_main.c @@ -492,16 +492,6 @@ _slider_changed_cb(void *data EINA_UNUSED, Evas_Object *obj, } static void -_slider_drag_stop_cb(void *data EINA_UNUSED, Evas_Object *obj, - void *event EINA_UNUSED) -{ - EINA_SAFETY_ON_NULL_RETURN(mixer_context->sink_default); - Emix_Sink *s = (Emix_Sink *)mixer_context->sink_default; - int val = s->volume.volumes[0]; - elm_slider_value_set(obj, val); -} - -static void _sink_selected_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Emix_Sink *s = data; @@ -565,7 +555,6 @@ _popup_new(Instance *inst) evas_object_show(slider); elm_slider_min_max_set(slider, 0.0, emix_max_volume_get()); evas_object_smart_callback_add(slider, "changed", _slider_changed_cb, NULL); - evas_object_smart_callback_add(slider, "slider,drag,stop", _slider_drag_stop_cb, NULL); elm_slider_value_set(slider, volume); elm_box_pack_end(bx, slider); evas_object_show(slider); diff --git a/src/modules/mixer/emixer.c b/src/modules/mixer/emixer.c index 5cde881..1bcd96c 100644 --- a/src/modules/mixer/emixer.c +++ b/src/modules/mixer/emixer.c @@ -49,17 +49,6 @@ _cb_sink_volume_change(void *data, } static void -_cb_sink_volume_drag_stop(void *data, - Evas_Object *obj, - void *event EINA_UNUSED) -{ - Evas_Object *bxv = data; - Emix_Sink *sink = evas_object_data_get(bxv, "sink"); - int vol = sink->volume.volumes[0]; - elm_slider_value_set(obj, vol); -} - -static void _cb_sink_mute_change(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) @@ -134,8 +123,6 @@ _emix_sink_add(Emix_Sink *sink) elm_box_pack_end(bx, sl); evas_object_show(sl); evas_object_smart_callback_add(sl, "changed", _cb_sink_volume_change, bxv); - evas_object_smart_callback_add(sl, "slider,drag,stop", - _cb_sink_volume_drag_stop, bxv); ck = elm_check_add(win); evas_object_data_set(bxv, "mute", ck); --
