summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHosang Kim <hosang12.kim@samsung.com>2014-01-10 15:42:12 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-01-10 15:42:12 +0900
commitb15e2cfc45105640078f004345593aacd68a96ee (patch)
treeb0cc18c4cfb1e7918b6130a6d3400aa612459b66
parentebd4323c5e263d317361c9018ec36574e18485ca (diff)
downloadelementary-b15e2cfc45105640078f004345593aacd68a96ee.tar.gz
[scroller] fixed infinite loop bug in scroller
Summary: called scroller bring in API in "scroll,anim,stop" callback, so occured infinite loop Reviewers: seoz, jaehwan, raster, woohyun, cedric Reviewed By: raster Differential Revision: https://phab.enlightenment.org/D445
-rw-r--r--src/lib/elm_interface_scrollable.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/lib/elm_interface_scrollable.c b/src/lib/elm_interface_scrollable.c
index 823374db5..7f9026d8d 100644
--- a/src/lib/elm_interface_scrollable.c
+++ b/src/lib/elm_interface_scrollable.c
@@ -1757,24 +1757,25 @@ _elm_scroll_content_region_show_internal(Evas_Object *obj,
if ((sid->down.bounce_x_animator) || (sid->down.bounce_y_animator) ||
(sid->scrollto.x.animator) || (sid->scrollto.y.animator))
{
+ ELM_SAFE_FREE(sid->scrollto.x.animator, ecore_animator_del);
+ ELM_SAFE_FREE(sid->scrollto.y.animator, ecore_animator_del);
+ if (sid->down.bounce_x_animator)
+ {
+ ELM_SAFE_FREE(sid->down.bounce_x_animator, ecore_animator_del);
+ sid->bouncemex = EINA_FALSE;
+ if (sid->content_info.resized)
+ _elm_scroll_wanted_region_set(sid->obj);
+ }
+ if (sid->down.bounce_y_animator)
+ {
+ ELM_SAFE_FREE(sid->down.bounce_y_animator, ecore_animator_del);
+ sid->bouncemey = EINA_FALSE;
+ if (sid->content_info.resized)
+ _elm_scroll_wanted_region_set(sid->obj);
+ }
+
_elm_scroll_anim_stop(sid);
}
- ELM_SAFE_FREE(sid->scrollto.x.animator, ecore_animator_del);
- ELM_SAFE_FREE(sid->scrollto.y.animator, ecore_animator_del);
- if (sid->down.bounce_x_animator)
- {
- ELM_SAFE_FREE(sid->down.bounce_x_animator, ecore_animator_del);
- sid->bouncemex = EINA_FALSE;
- if (sid->content_info.resized)
- _elm_scroll_wanted_region_set(sid->obj);
- }
- if (sid->down.bounce_y_animator)
- {
- ELM_SAFE_FREE(sid->down.bounce_y_animator, ecore_animator_del);
- sid->bouncemey = EINA_FALSE;
- if (sid->content_info.resized)
- _elm_scroll_wanted_region_set(sid->obj);
- }
if (sid->down.hold_animator)
{
ELM_SAFE_FREE(sid->down.hold_animator, ecore_animator_del);