eunue pushed a commit to branch master.

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

commit 591f18f2af2ebcebd5e9d66bc20812eb3a378999
Author: Jaeun Choi <jaeun12.c...@samsung.com>
Date:   Thu Jan 24 17:27:55 2019 +0900

    efl_page_transition_scroll: fix _efl_page_transition_scroll_update() 
function
    
    % operator should not be used when loop is disabled
---
 src/lib/elementary/efl_page_transition_scroll.c | 54 ++++++++++++++-----------
 1 file changed, 31 insertions(+), 23 deletions(-)

diff --git a/src/lib/elementary/efl_page_transition_scroll.c 
b/src/lib/elementary/efl_page_transition_scroll.c
index 19c4acd82c..fa485f18a4 100644
--- a/src/lib/elementary/efl_page_transition_scroll.c
+++ b/src/lib/elementary/efl_page_transition_scroll.c
@@ -347,41 +347,49 @@ _efl_page_transition_scroll_update(Eo *obj,
                   curr->content_num = -1;
                   curr->content = NULL;
                   curr->visible = EINA_FALSE;
-
                }
           }
         else
           {
-             tmp_id = (curr_page + curr->pos + cnt) % cnt;
-             if (curr->content_num != tmp_id)
-               {
-                  if (curr->content)
-                    {
-                       efl_pack_unpack(curr->obj, curr->content);
-                       efl_canvas_object_clip_set(curr->content, pd->backclip);
+             tmp_id = curr_page + curr->pos;
+             if (spd->loop == EFL_UI_PAGER_LOOP_ENABLED)
+               tmp_id = (tmp_id + cnt) % cnt;
 
-                       curr->content_num = -1;
-                       curr->content = NULL;
-                    }
+             if ((abs(curr->pos) < cnt) &&
+                 (tmp_id >= 0) &&
+                 (tmp_id < cnt))
+               {
+                  tmp = efl_pack_content_get(spd->pager.obj, tmp_id);
 
-                  if (!((spd->loop == EFL_UI_PAGER_LOOP_DISABLED)
-                      && ((curr->pos) * (tmp_id - curr_page) < 0)))
+                  if (curr->content != tmp)
                     {
-                       tmp = efl_pack_content_get(spd->pager.obj, tmp_id);
-
-                       if (tmp)
+                       if (curr->content)
                          {
-                            efl_canvas_object_clip_set(curr->obj, 
pd->foreclip);
+                            efl_pack_unpack(curr->obj, curr->content);
+                            efl_canvas_object_clip_set(curr->content, 
pd->backclip);
+                         }
 
-                            efl_pack(curr->obj, tmp);
-                            efl_canvas_object_clip_set(tmp, pd->foreclip);
+                       efl_canvas_object_clip_set(curr->obj, pd->foreclip);
 
-                            curr->content_num = tmp_id;
-                            curr->content = tmp;
-                            curr->visible = EINA_TRUE;
-                         }
+                       efl_pack(curr->obj, tmp);
+                       efl_canvas_object_clip_set(tmp, pd->foreclip);
+
+                       curr->content_num = tmp_id;
+                       curr->content = tmp;
+                       curr->visible = EINA_TRUE;
                     }
                }
+             else if (curr->content)
+               {
+                  efl_canvas_object_clip_set(curr->obj, pd->backclip);
+
+                  efl_pack_unpack(curr->obj, curr->content);
+                  efl_canvas_object_clip_set(curr->content, pd->backclip);
+
+                  curr->content_num = -1;
+                  curr->content = NULL;
+                  curr->visible = EINA_FALSE;
+               }
           }
 
         curr = target;

-- 


Reply via email to