From: Wonki Kim Date: Wed, 6 Sep 2017 03:02:19 +0000 (+0900) Subject: interface_scrollable: modify not to compensate scroller if manual_render is set X-Git-Tag: submit/tizen_3.0/20171019.130042~38 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4a6fa8e3605f8502b153df5f7afb093e11a85c09;p=platform%2Fupstream%2Felementary.git interface_scrollable: modify not to compensate scroller if manual_render is set when scroller is not stable such as a situation of resizing, page_show api work improperly so that there was compensate logic to fix that issue. however, when manual render mode is set, the logic work improperly. this patch disable compensate logic if manual_render is set @tizen_fix Change-Id: Ibd06a13565d181145869ee076f91e574abba7772 Signed-off-by: Wonki Kim --- diff --git a/src/lib/elm_interface_scrollable.c b/src/lib/elm_interface_scrollable.c index d7676dd39..0ff90167b 100644 --- a/src/lib/elm_interface_scrollable.c +++ b/src/lib/elm_interface_scrollable.c @@ -5179,6 +5179,27 @@ _elm_interface_scrollable_last_page_get(Eo *obj EINA_UNUSED, Elm_Scrollable_Smar } } +static Eina_Bool +_request_page(Evas_Object *obj, Elm_Scrollable_Smart_Interface_Data *sid, int pagenumber_h, int pagenumber_v) +{ + if (!obj) return EINA_FALSE; + + Evas *e = evas_object_evas_get(obj); + if (!e) return EINA_FALSE; + + Ecore_Evas *ee = ecore_evas_ecore_evas_get(e); + if (!ee) return EINA_FALSE; + + if (!ecore_evas_manual_render_get(ee)) + { + sid->requested_page.h = pagenumber_h; + sid->requested_page.v = pagenumber_v; + sid->requested_page.loop_cnt = evas_smart_objects_calculate_count_get(evas_object_evas_get(obj)); + return EINA_TRUE; + } + return EINA_FALSE; +} + EOLIAN static void _elm_interface_scrollable_page_show(Eo *obj, Elm_Scrollable_Smart_Interface_Data *sid, int pagenumber_h, int pagenumber_v) { @@ -5191,9 +5212,7 @@ _elm_interface_scrollable_page_show(Eo *obj, Elm_Scrollable_Smart_Interface_Data //FIXME FIXME FIXME: Would you please fix me ? //TIZEN_ONLY(20170227): Compensate scroller when scroller is not stable. - sid->requested_page.h = pagenumber_h; - sid->requested_page.v = pagenumber_v; - sid->requested_page.loop_cnt = evas_smart_objects_calculate_count_get(evas_object_evas_get(obj)); + _request_page(obj, sid, pagenumber_h, pagenumber_v); //END eo_do(sid->obj, elm_interface_scrollable_content_viewport_geometry_get @@ -5232,9 +5251,7 @@ _elm_interface_scrollable_page_bring_in(Eo *obj, Elm_Scrollable_Smart_Interface_ //FIXME FIXME FIXME: Would you please fix me ? //TIZEN_ONLY(20170227): Compensate scroller when scroller is not stable. - sid->requested_page.h = pagenumber_h; - sid->requested_page.v = pagenumber_v; - sid->requested_page.loop_cnt = evas_smart_objects_calculate_count_get(evas_object_evas_get(obj)); + _request_page(obj, sid, pagenumber_h, pagenumber_v); //END if (_elm_scroll_content_region_show_internal(obj, &x, &y, w, h))