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); } --