discomfitor pushed a commit to branch elementary-1.9. http://git.enlightenment.org/core/elementary.git/commit/?id=e2722946a0211610d6f4b510cbea759cb559d96e
commit e2722946a0211610d6f4b510cbea759cb559d96e Author: zmike <michael.blumenkra...@gmail.com> Date: Sun Mar 2 15:38:42 2014 -0500 @fix broken slider popup hide logic setting a flag here made it impossible to have any kind of transition animation on the indicator and was a poor workaround for fixing a theme issue --- src/lib/elm_slider.c | 20 +++++--------------- src/lib/elm_widget_slider.h | 1 - 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/src/lib/elm_slider.c b/src/lib/elm_slider.c index 7c9e563..977500f 100644 --- a/src/lib/elm_slider.c +++ b/src/lib/elm_slider.c @@ -317,14 +317,10 @@ _popup_hide(void *data, ELM_SLIDER_DATA_GET(data, sd); if (sd->popup) { - if (!sd->popup_hiding) + if (!(elm_widget_focus_get(data) && sd->always_popup_show)) { - if (!(elm_widget_focus_get(data) && sd->always_popup_show)) - { - edje_object_signal_emit(sd->popup, "popup,hide", "elm"); // XXX: for compat - edje_object_signal_emit(sd->popup, "elm,popup,hide", "elm"); - sd->popup_hiding = EINA_TRUE; - } + edje_object_signal_emit(sd->popup, "popup,hide", "elm"); // XXX: for compat + edje_object_signal_emit(sd->popup, "elm,popup,hide", "elm"); } } } @@ -338,14 +334,8 @@ _popup_hide_done(void *data, ELM_SLIDER_DATA_GET(data, sd); if (sd->popup) { - if (sd->popup_hiding) - { - if (!(elm_widget_focus_get(data) && sd->always_popup_show)) - { - evas_object_hide(sd->popup); - sd->popup_hiding = EINA_FALSE; - } - } + if (!(elm_widget_focus_get(data) && sd->always_popup_show)) + evas_object_hide(sd->popup); } } diff --git a/src/lib/elm_widget_slider.h b/src/lib/elm_widget_slider.h index 3a6304f..8f9f14b 100644 --- a/src/lib/elm_widget_slider.h +++ b/src/lib/elm_widget_slider.h @@ -41,7 +41,6 @@ struct _Elm_Slider_Smart_Data Eina_Bool indicator_show : 1; Eina_Bool spacer_down : 1; Eina_Bool frozen : 1; - Eina_Bool popup_hiding : 1; Eina_Bool units_show : 1; Eina_Bool always_popup_show : 1; /*this flag is to set the visiblity of slider indicator * if this flag is set then the indicator always show --