cedric pushed a commit to branch master.

commit b845a54ee3aea5fe3d4f2760dddff062d1bebb9d
Author: Cedric Bail <[email protected]>
Date:   Thu Aug 1 11:40:13 2013 +0900

    edje: another small speedup for elemines startup time (-2%).
---
 src/lib/edje/edje_util.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index f520bcd..92fa2d7 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -5854,8 +5854,8 @@ _edje_real_part_recursive_get(Edje **ed, const char *part)
 Evas_Object *
 _edje_children_get(Edje_Real_Part *rp, const char *partid)
 {
-   Evas_Object *child;
-   Eina_List *l;
+   Evas_Object *child = NULL;
+   Eina_Iterator *it = NULL;
    long int v;
    char *p;
 
@@ -5869,10 +5869,10 @@ _edje_children_get(Edje_Real_Part *rp, const char 
*partid)
         return _edje_external_content_get
           (rp->typedata.swallow->swallowed_object, partid);
       case EDJE_PART_TYPE_BOX:
-         l = evas_object_box_children_get(rp->object);
+         it = evas_object_box_iterator_new(rp->object);
          break;
       case EDJE_PART_TYPE_TABLE:
-         l = evas_object_table_children_get(rp->object);
+         it = evas_object_table_iterator_new(rp->object);
          break;
       default:
          return NULL;
@@ -5881,13 +5881,19 @@ _edje_children_get(Edje_Real_Part *rp, const char 
*partid)
    v = strtol(partid, &p, 10);
    if ((*p == '\0') && (v >= 0))
      {
-        child = eina_list_nth(l, v);
+        int i = 0;
+        EINA_ITERATOR_FOREACH(it, child)
+          {
+             if (i == v) break;
+             i++;
+          }
+        if (i != v) child = NULL;
      }
    else
      {
         Evas_Object *cur;
-        child = NULL;
-        EINA_LIST_FREE(l, cur)
+
+        EINA_ITERATOR_FOREACH(it, cur)
           {
              const char *name = evas_object_name_get(cur);
              if ((name) && (!strcmp(name, partid)))
@@ -5897,7 +5903,7 @@ _edje_children_get(Edje_Real_Part *rp, const char *partid)
                }
           }
      }
-   eina_list_free(l);
+   eina_iterator_free(it);
 
    return child;
 }

-- 

------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk

Reply via email to