From: Hosang Kim Date: Fri, 10 Jan 2014 06:42:12 +0000 (+0900) Subject: [scroller] fixed infinite loop bug in scroller X-Git-Tag: v1.9.0-alpha1~267 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b15e2cfc45105640078f004345593aacd68a96ee;p=platform%2Fupstream%2Felementary.git [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 --- 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);