cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4ad20ac8e40a97ffcbb4851e75d243c3d3055e7e

commit 4ad20ac8e40a97ffcbb4851e75d243c3d3055e7e
Author: Andrii Kroitor <an.kroi...@samsung.com>
Date:   Fri Mar 6 19:16:06 2015 +0100

    edje: Edje_Edit - fix part alias source generation.
    
    Summary:
    generating correct part alias string 'alias: "theme_part_path" 
"real_part_path";'
    @fix
    
    Reviewers: cedric, seoz, Hermet, raster
    
    Subscribers: cedric, reutskiy.v.v
    
    Differential Revision: https://phab.enlightenment.org/D2096
    
    Signed-off-by: Cedric BAIL <ced...@osg.samsung.com>
---
 src/lib/edje/edje_edit.c    | 14 +++++++++-----
 src/lib/edje/edje_load.c    |  2 +-
 src/lib/edje/edje_private.h |  1 +
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index 2ea12c5..5687e3e 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -11426,6 +11426,9 @@ _edje_generate_source_of_group(Edje *ed, 
Edje_Part_Collection_Directory_Entry *p
    Eina_List *alias_list = NULL;
    const char *alias;
    Eina_Iterator *it;
+   int len;
+   char *tmp_alias;
+   const char* aliased;
 
    obj = edje_edit_object_add(ed->base->evas);
    if (!edje_object_file_set(obj, ed->file->path, group)) return EINA_FALSE;
@@ -11507,13 +11510,14 @@ _edje_generate_source_of_group(Edje *ed, 
Edje_Part_Collection_Directory_Entry *p
    BUF_APPEND(I2"parts {\n");
    if ((pc->aliased) && (pc->alias))
      {
-        it = eina_hash_iterator_data_new(pc->aliased);
-        EINA_ITERATOR_FOREACH(it, alias)
-           BUF_APPENDF(I3"alias: \"%s\" ", alias);
-        eina_iterator_free(it);
         it = eina_hash_iterator_data_new(pc->alias);
         EINA_ITERATOR_FOREACH(it, alias)
-           BUF_APPENDF("\"%s\";\n", alias);
+          {
+             tmp_alias = strdup(alias);
+             aliased = _edje_find_alias(pc->aliased, tmp_alias, &len);
+             BUF_APPENDF(I3"alias: \"%s\" \"%s\";\n", aliased, alias);
+             free(tmp_alias);
+          }
         eina_iterator_free(it);
      }
    for (i = 0; i < pc->parts_count; i++)
diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index 22eed37..3124151 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -1809,7 +1809,7 @@ _edje_object_pack_item_hints_set(Evas_Object *obj, 
Edje_Pack_Element *it)
    evas_object_resize(obj, w, h);
 }
 
-static const char *
+const char *
 _edje_find_alias(Eina_Hash *aliased, char *src, int *length)
 {
    const char *alias;
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 906dca5..678421b 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -2255,6 +2255,7 @@ void              _edje_color_class_on_del(Edje *ed, 
Edje_Part *ep);
 void              _edje_color_class_members_free(void);
 void              _edje_color_class_hash_free(void);
 
+const char       * _edje_find_alias(Eina_Hash *aliased, char *src, int 
*length);
 Edje_Text_Class  *_edje_text_class_find(Edje *ed, const char *text_class);
 void              _edje_text_class_member_add(Edje *ed, const char 
*text_class);
 void              _edje_text_class_member_del(Edje *ed, const char 
*text_class);

-- 


Reply via email to