nikawhite pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=66af7d19280ef253394a8cd11f49d9ff9d876a9b

commit 66af7d19280ef253394a8cd11f49d9ff9d876a9b
Author: Mykyta Biliavskyi <[email protected]>
Date:   Thu Jan 19 09:54:36 2017 +0200

    edje_cc: delete unused image sets from edj file.
    
    Delete Edje_Image_Directory_Set instance from edj file in case if image
    set isn't used inside any part. This commit apply behaviour from unused
    images to the unused image sets.
    
    @fix T5109
---
 src/bin/edje/edje_cc_out.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c
index 80aa3f0..984f165 100644
--- a/src/bin/edje/edje_cc_out.c
+++ b/src/bin/edje/edje_cc_out.c
@@ -3948,7 +3948,7 @@ free_group:
    if (edje_file->image_dir && !is_lua)
      {
         Edje_Image_Directory_Entry *de, *de_last, *img;
-        Edje_Image_Directory_Set *set;
+        Edje_Image_Directory_Set *set, *set_last, *set_realloc;
         Edje_Image_Directory_Set_Entry *set_e;
         Eina_List *images_unused_list = NULL;
         unsigned int i;
@@ -3996,6 +3996,19 @@ free_group:
                   free((void *)set_e->name);
                   free(set_e);
                }
+             set->entries = NULL;
+             set_last = edje_file->image_dir->sets + 
edje_file->image_dir->sets_count - 1;
+             iui = mem_alloc(SZ(Image_Unused_Ids));
+             iui->old_id = set_last->id;
+             images_unused_list = eina_list_append(images_unused_list, iui);
+             iui->new_id = i;
+             set_last->id = i;
+              memcpy(set, set_last, sizeof(Edje_Image_Directory_Set));
+             --i;
+             edje_file->image_dir->sets_count--;
+             set_realloc = realloc(edje_file->image_dir->sets,
+                                   sizeof(Edje_Image_Directory_Set) * 
edje_file->image_dir->sets_count);
+             edje_file->image_dir->sets = set_realloc;
           }
 
         /* update image id in parts */

-- 


Reply via email to