From 325528a5f18e619865186ba6304b73892626d2cf Mon Sep 17 00:00:00 2001 From: Tae-Hwan Kim Date: Sat, 6 Apr 2013 13:57:50 +0900 Subject: [PATCH] [Genlist] Change job is only called when viewport width is changed Change-Id: I1f282935ab093ab16efdcff43cb7000c4e273d41 Conflicts: src/lib/elm_genlist.c --- src/lib/elm_genlist.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c index 1688d85..23ce40c 100644 --- a/src/lib/elm_genlist.c +++ b/src/lib/elm_genlist.c @@ -469,14 +469,19 @@ _elm_genlist_pan_smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h __UNUSED__) { + Evas_Coord ow = 0, oh = 0, vw = 0; + ELM_GENLIST_PAN_DATA_GET(obj, psd); + evas_object_geometry_get(obj, NULL, NULL, &ow, &oh); + if ((ow == w) && (oh == h)) return; + + psd->wsd->s_iface->content_viewport_size_get(ELM_WIDGET_DATA(psd->wsd)->obj, + &vw, NULL); if (psd->wsd->mode == ELM_LIST_COMPRESS && - psd->wsd->prev_viewport_w != w) - { - psd->wsd->size_changed = EINA_TRUE; - } - psd->wsd->prev_viewport_w = w; + vw != psd->wsd->prev_viewport_w) + psd->wsd->size_changed = EINA_TRUE; + if (vw != 0) psd->wsd->prev_viewport_w = vw; psd->wsd->pan_changed = EINA_TRUE; if (psd->wsd->calc_job) ecore_job_del(psd->wsd->calc_job); -- 2.7.4