rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=0f74877cb636ad42a01625cee56b51e1268c9316

commit 0f74877cb636ad42a01625cee56b51e1268c9316
Author: Vyacheslav Reutskiy <v.reuts...@samsung.com>
Date:   Tue Jun 20 14:55:22 2017 +0300

    editor: remove item in reverse order
    
    Fix segfault on delete TABLE part with more then 1 item. When item
    removed all ather items reordered and changed they index, so in this
    case for create a correct change for history, with correct item index,
    we need to remove items reversly.
    
    @fix
    Fixes T5561
---
 src/bin/editor/editor_part.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/bin/editor/editor_part.c b/src/bin/editor/editor_part.c
index ec8f872c0..40aeef869 100644
--- a/src/bin/editor/editor_part.c
+++ b/src/bin/editor/editor_part.c
@@ -805,7 +805,8 @@ editor_part_reset(Evas_Object *edit_object, Change *change, 
Eina_Bool apply,
    Eina_List *states, *l;
    Eina_Stringshare *state, *name;
    double state_val;
-   unsigned int items_count, i = 0;
+   unsigned int items_count;
+   int i = 0;
 
    assert(edit_object != NULL);
    assert(part_name != NULL);
@@ -872,7 +873,7 @@ editor_part_reset(Evas_Object *edit_object, Change *change, 
Eina_Bool apply,
    if ((type == EDJE_PART_TYPE_BOX) || (type == EDJE_PART_TYPE_TABLE))
      {
         items_count = edje_edit_part_items_count_get(edit_object, part_name);
-        for (i = 0; i < items_count; i++)
+        for (i = (int)items_count - 1; i >= 0; i--)
           res = res && editor_part_item_index_del(edit_object, change, false, 
apply, part_name, i);
      }
 

-- 


Reply via email to