[Genlist] Change job is only called when viewport width is changed
authorTae-Hwan Kim <the81.kim@samsung.com>
Sat, 6 Apr 2013 04:57:50 +0000 (13:57 +0900)
committerSungho Kwak <sungho1.kwak@samsung.com>
Wed, 12 Jun 2013 02:27:58 +0000 (11:27 +0900)
Change-Id: I1f282935ab093ab16efdcff43cb7000c4e273d41

Conflicts:

src/lib/elm_genlist.c

src/lib/elm_genlist.c

index 1688d85..23ce40c 100644 (file)
@@ -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);