From 8724313b8e4c9799c5d20b876d5aaa9e5341d519 Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Fri, 28 Oct 2016 11:35:45 +0200 Subject: [PATCH] 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 15aa4afbf..5786bed96 100644 --- a/src/modules/mixer/e_mod_main.c +++ b/src/modules/mixer/e_mod_main.c @@ -491,16 +491,6 @@ _slider_changed_cb(void *data EINA_UNUSED, Evas_Object *obj, free(v.volumes); } -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) { @@ -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 5cde88127..1bcd96c1f 100644 --- a/src/modules/mixer/emixer.c +++ b/src/modules/mixer/emixer.c @@ -48,17 +48,6 @@ _cb_sink_volume_change(void *data, elm_slider_value_set(obj, vol); } -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, @@ -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);