rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=8740b38ad37b49315ed2746d85319ce6704dd2ef

commit 8740b38ad37b49315ed2746d85319ce6704dd2ef
Author: Andrii Kroitor <an.kroi...@samsung.com>
Date:   Fri Feb 5 15:51:14 2016 +0200

    group_manager: fix state reset after save
    
    Fixes T3136
---
 src/bin/project_manager/group_manager.c | 23 +++++++++++++++++++++++
 src/bin/project_manager/group_manager.h |  3 +++
 src/bin/ui/tabs.c                       |  2 +-
 3 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/src/bin/project_manager/group_manager.c 
b/src/bin/project_manager/group_manager.c
index 93dd384..0877338 100644
--- a/src/bin/project_manager/group_manager.c
+++ b/src/bin/project_manager/group_manager.c
@@ -57,6 +57,29 @@ gm_group_edit_object_load(Project *pro, Group *group, Evas 
*e)
 }
 
 void
+gm_group_edit_object_reload(Project *pro, Group *group)
+{
+   Part *part;
+   Eina_List *l;
+
+   assert(pro != NULL);
+   assert(group != NULL);
+   assert(group->edit_object != NULL);
+
+   if (!edje_object_mmap_set(group->edit_object, pro->mmap_file, group->name))
+     {
+        ERR("Can't set mmap object");
+        abort();
+     }
+
+   EINA_LIST_FOREACH(group->parts, l, part)
+      edje_edit_part_selected_state_set(group->edit_object,
+                                        part->name,
+                                        part->current_state->parsed_name,
+                                        part->current_state->parsed_val);
+}
+
+void
 gm_group_edit_object_unload(Group *group)
 {
    assert(group != NULL);
diff --git a/src/bin/project_manager/group_manager.h 
b/src/bin/project_manager/group_manager.h
index 1fe712e..751b126 100644
--- a/src/bin/project_manager/group_manager.h
+++ b/src/bin/project_manager/group_manager.h
@@ -76,6 +76,9 @@ void
 gm_group_edit_object_load(Project *pro, Group *group, Evas *e);
 
 void
+gm_group_edit_object_reload(Project *pro, Group *group);
+
+void
 gm_group_edit_object_unload(Group *group);
 
 State *
diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c
index 032f330..0fae5e7 100644
--- a/src/bin/ui/tabs.c
+++ b/src/bin/ui/tabs.c
@@ -368,7 +368,7 @@ _editor_saved(void *data __UNUSED__,
    pm_dev_file_reload(ap.project);
    EINA_LIST_FOREACH(tabs.items, l, item)
      {
-        edje_object_mmap_set(item->group->edit_object, ap.project->mmap_file, 
item->group->name);
+        gm_group_edit_object_reload(ap.project, item->group);
         if (item->content == tabs.current_workspace)
           workspace_groupview_hard_update(tabs.current_workspace);
         else

-- 


Reply via email to