elm genlist: Added show_item check routine. Patch by Hyoyoung Chang <
authorseoz <seoz@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 15 Mar 2012 04:03:10 +0000 (04:03 +0000)
committerseoz <seoz@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 15 Mar 2012 04:03:10 +0000 (04:03 +0000)
hyoyoung@gmail.com>. I committed his patch except for _calc_job diff.

On Wed, Mar 14, 2012 at 3:09 PM, Hyoyoung Chang <hyoyoung@gmail.com>
wrote:
> Dear all.
>
> This patch include two changes
>
> 1. at _scroll_item, added to check show_item is null or not.
> 2. at _calc_job, added to check genlist type
>   because calc_job is added anytime, but some genlist clearing is can
> be done before doing calc_job.
>
> Thanks.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@69349 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/elm_genlist.c

index 3921917..c30c19e 100644 (file)
@@ -2524,6 +2524,7 @@ _scroll_item(Widget_Data *wd)
    Elm_Gen_Item *it = NULL;
    Evas_Coord gith = 0;
    Evas_Coord ow, oh, dx = 0, dy = 0, dw = 0, dh = 0;
+   if (!wd->show_item) return;
 
    evas_object_geometry_get(wd->pan_smart, NULL, NULL, &ow, &oh);
    it = wd->show_item;
@@ -2698,10 +2699,13 @@ _calc_job(void *data)
               dy = 0;
               break;
           }
-        if ((pan_w > (wd->show_item->x + wd->show_item->item->block->x)) &&
-            (pan_h > (wd->show_item->y + wd->show_item->item->block->y + dy)))
+        if (wd->show_item)
           {
-             _scroll_item(wd);
+             if ((pan_w > (wd->show_item->x + wd->show_item->item->block->x)) &&
+                 (pan_h > (wd->show_item->y + wd->show_item->item->block->y + dy)))
+               {
+                  _scroll_item(wd);
+               }
           }
      }
    wd->calc_job = NULL;