eunue pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bd5ac14411bc93872855fbd75025aeb4246724a3

commit bd5ac14411bc93872855fbd75025aeb4246724a3
Author: Jaeun Choi <jaeun12.c...@samsung.com>
Date:   Wed Jan 23 20:43:34 2019 +0900

    efl_ui_pager: return some functions if pager is in the middle of animation
    
    after this patch is applied,
    if users try to pack a page object or bind a transition object
    to a pager while it is in the middle of page changing animation,
    related functions do nothing and just return.
---
 src/lib/elementary/efl_ui_pager.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/lib/elementary/efl_ui_pager.c 
b/src/lib/elementary/efl_ui_pager.c
index ab53cf5b34..b28ccb5138 100644
--- a/src/lib/elementary/efl_ui_pager.c
+++ b/src/lib/elementary/efl_ui_pager.c
@@ -389,6 +389,8 @@ _efl_ui_pager_efl_pack_linear_pack_begin(Eo *obj 
EINA_UNUSED,
                                          Efl_Ui_Pager_Data *pd,
                                          Efl_Gfx_Entity *subobj)
 {
+   if (!EINA_DBL_EQ(pd->curr.pos, 0.0)) return EINA_FALSE;
+
    pd->content_list = eina_list_prepend(pd->content_list, subobj);
 
    pd->cnt += 1;
@@ -417,6 +419,8 @@ _efl_ui_pager_efl_pack_linear_pack_end(Eo *obj EINA_UNUSED,
                                        Efl_Ui_Pager_Data *pd,
                                        Efl_Gfx_Entity *subobj)
 {
+   if (!EINA_DBL_EQ(pd->curr.pos, 0.0)) return EINA_FALSE;
+
    pd->content_list = eina_list_append(pd->content_list, subobj);
 
    pd->cnt += 1;
@@ -445,6 +449,8 @@ _efl_ui_pager_efl_pack_linear_pack_before(Eo *obj 
EINA_UNUSED,
                                           Efl_Gfx_Entity *subobj,
                                           const Efl_Gfx_Entity *existing)
 {
+   if (!EINA_DBL_EQ(pd->curr.pos, 0.0)) return EINA_FALSE;
+
    int index;
 
    index = eina_list_data_idx(pd->content_list, (void *)existing);
@@ -472,6 +478,8 @@ _efl_ui_pager_efl_pack_linear_pack_after(Eo *obj 
EINA_UNUSED,
                                          Efl_Gfx_Entity *subobj,
                                          const Efl_Gfx_Entity *existing)
 {
+   if (!EINA_DBL_EQ(pd->curr.pos, 0.0)) return EINA_FALSE;
+
    int index;
 
    index = eina_list_data_idx(pd->content_list, (void *)existing);
@@ -499,6 +507,8 @@ _efl_ui_pager_efl_pack_linear_pack_at(Eo *obj EINA_UNUSED,
                                       Efl_Gfx_Entity *subobj,
                                       int index)
 {
+   if (!EINA_DBL_EQ(pd->curr.pos, 0.0)) return EINA_FALSE;
+
    Efl_Gfx_Entity *existing = NULL;
 
    existing = eina_list_nth(pd->content_list, index);
@@ -591,6 +601,8 @@ _efl_ui_pager_transition_set(Eo *obj,
                              Efl_Ui_Pager_Data *pd,
                              Efl_Page_Transition *transition)
 {
+   if (!EINA_DBL_EQ(pd->curr.pos, 0.0)) return;
+
    if (pd->transition == transition) return;
 
    if (pd->transition)

-- 


Reply via email to