diff options
author | Hosang Kim <hosang12.kim@samsung.com> | 2014-01-10 15:42:12 +0900 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2014-01-10 15:42:12 +0900 |
commit | b15e2cfc45105640078f004345593aacd68a96ee (patch) | |
tree | b0cc18c4cfb1e7918b6130a6d3400aa612459b66 | |
parent | ebd4323c5e263d317361c9018ec36574e18485ca (diff) | |
download | elementary-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.c | 33 |
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); |