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!
This commit is contained in:
Marcel Hollerbach 2016-10-28 11:35:45 +02:00
parent b2d67bd68a
commit 8724313b8e
2 changed files with 0 additions and 24 deletions

View File

@ -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);

View File

@ -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);