From: Hyoyoung Chang <hyoyoung@gmail.com>
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 24 Mar 2012 11:14:20 +0000 (11:14 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 24 Mar 2012 11:14:20 +0000 (11:14 +0000)
Subject: [E-devel] [patch] elm_genlist - add merging edc strings list

I add like a routine in previous patch.
It add merging routines to realize functions.
also i removed "elm_widget_stringlist_free(cons)"
because all of it is freed at item_unrealize.

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

src/lib/elm_genlist.c

index 3aa5ad6..d7123fc 100644 (file)
@@ -1890,13 +1890,14 @@ _item_content_realize(Elm_Gen_Item *it,
         const Eina_List *l;
         const char *key;
         Evas_Object *ic = NULL;
+        Eina_List *cons = NULL;
 
-        *source = elm_widget_stringlist_get(edje_object_data_get(target, "contents"));
+        cons = elm_widget_stringlist_get(edje_object_data_get(target, "contents"));
 
         if (parts && (eina_list_count(*source) != eina_list_count(it->content_objs)))
           res = it->content_objs;
 
-        EINA_LIST_FOREACH(*source, l, key)
+        EINA_LIST_FOREACH(cons, l, key)
           {
              if (parts && fnmatch(parts, key, FNM_PERIOD))
                continue;
@@ -1914,6 +1915,7 @@ _item_content_realize(Elm_Gen_Item *it,
                     elm_widget_disabled_set(ic, EINA_TRUE);
                }
           }
+        *source = eina_list_merge(*source, cons);
      }
 
    return res;
@@ -1967,6 +1969,7 @@ _item_flips_realize(Elm_Gen_Item *it,
         const char *key;
         Evas_Object *ic = NULL;
         Eina_List *cons = NULL;
+
         cons = elm_widget_stringlist_get(edje_object_data_get(target, "flips"));
 
         EINA_LIST_FOREACH(cons, l, key)
@@ -1985,7 +1988,6 @@ _item_flips_realize(Elm_Gen_Item *it,
                }
           }
         *source = eina_list_merge(*source, cons);
-        elm_widget_stringlist_free(cons);
      }
 
    return res;