seoz pushed a commit to branch elementary-1.12. http://git.enlightenment.org/core/elementary.git/commit/?id=6e27fa3f333d6fe669fb3548e53d67db324f83e0
commit 6e27fa3f333d6fe669fb3548e53d67db324f83e0 Author: Jee-Yong Um <jc9...@samsung.com> Date: Wed Feb 4 19:26:06 2015 +0900 elm_label: Fixed to prevent slide's autostart before calling elm_label_slide_go() Summary: Label should not start sliding before elm_label_slide_go() is called. However, label starts sliding automatically, because resize callback emits slide start signal. This patch prevents label from sliding before calling elm_label_slide_go(). @fix Reviewers: woohyun, Hermet, seoz Subscribers: CHAN, woohyun Differential Revision: https://phab.enlightenment.org/D1906 --- src/lib/elm_label.c | 6 +++++- src/lib/elm_widget_label.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/elm_label.c b/src/lib/elm_label.c index 505b717..db5787e 100644 --- a/src/lib/elm_label.c +++ b/src/lib/elm_label.c @@ -86,6 +86,8 @@ _label_slide_change(Evas_Object *obj) ELM_LABEL_DATA_GET(obj, sd); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); + if (!sd->slide_state) return; + edje_object_signal_emit(wd->resize_obj, "elm,state,slide,stop", "elm"); //doesn't support multiline slide effect @@ -578,8 +580,10 @@ _elm_label_slide_speed_get(Eo *obj EINA_UNUSED, Elm_Label_Data *sd) } EOLIAN static void -_elm_label_slide_go(Eo *obj, Elm_Label_Data *_pd EINA_UNUSED) +_elm_label_slide_go(Eo *obj, Elm_Label_Data *sd) { + if (!sd->slide_state) sd->slide_state = EINA_TRUE; + _label_slide_change(obj); elm_layout_sizing_eval(obj); } diff --git a/src/lib/elm_widget_label.h b/src/lib/elm_widget_label.h index 3977034..136f9df 100644 --- a/src/lib/elm_widget_label.h +++ b/src/lib/elm_widget_label.h @@ -28,6 +28,7 @@ struct _Elm_Label_Data Eina_Bool ellipsis : 1; Eina_Bool slide_ellipsis : 1; Eina_Bool use_slide_speed : 1; + Eina_Bool slide_state : 1; /**< This will be marked as EINA_TRUE after elm_label_slide_go() is called. */ }; #define ELM_LABEL_DATA_GET(o, sd) \ --