[Genlist] Fix genlist calculation bug
authorTae-Hwan Kim <the81.kim@samsung.com>
Thu, 30 May 2013 13:09:43 +0000 (22:09 +0900)
committerSungho Kwak <sungho1.kwak@samsung.com>
Wed, 12 Jun 2013 05:21:39 +0000 (14:21 +0900)
Change-Id: I014241211cd4a1ec2681e513315d25402e2e2c86

src/lib/elm_genlist.c

index c9f3f44..dc9534e 100644 (file)
@@ -1586,12 +1586,12 @@ _item_min_calc(Elm_Gen_Item *it)
              mw = sd->finger_minw;
              mh = sd->finger_minh;
           }
-        if (sd->prev_viewport_w != 0) mw = sd->prev_viewport_w;
-        edje_object_size_min_restricted_calc(VIEW(it), &mw, &mh, mw, mh);
         if ((sd->mode == ELM_LIST_COMPRESS) && (sd->prev_viewport_w != 0) &&
-            (mw > sd->prev_viewport_w))
-           mw = sd->prev_viewport_w;
-        if (sd->homogeneous)
+          (mw < sd->prev_viewport_w))
+          mw = sd->prev_viewport_w;
+        edje_object_size_min_restricted_calc(VIEW(it), &mw, &mh, mw, mh);
+
+         if (sd->homogeneous)
           {
              size = ELM_NEW(Size_Cache);
              size->minw = mw;
@@ -2136,14 +2136,13 @@ _changed_job(Elm_Genlist_Smart_Data *sd)
                        mw = GL_IT(it)->wsd->finger_minw;
                        mh = GL_IT(it)->wsd->finger_minh;
                     }
-                  if (GL_IT(it)->wsd->prev_viewport_w != 0)
-                    mw = GL_IT(it)->wsd->prev_viewport_w;
-                  edje_object_size_min_restricted_calc(VIEW(it), &mw, &mh, mw, mh);
                   if ((GL_IT(it)->wsd->mode == ELM_LIST_COMPRESS) &&
                       (GL_IT(it)->wsd->prev_viewport_w != 0) &&
-                      (mw > GL_IT(it)->wsd->prev_viewport_w))
+                      (mw < GL_IT(it)->wsd->prev_viewport_w))
                      mw = GL_IT(it)->wsd->prev_viewport_w;
 
+                  edje_object_size_min_restricted_calc(VIEW(it), &mw, &mh, mw, mh);
+
                   if (it->item->minw != mw)
                     {
                        it->item->w = it->item->minw = mw;