rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=295b6a5f656a327be1cd4518a1c9398ef26b0597
commit 295b6a5f656a327be1cd4518a1c9398ef26b0597 Author: Andrii Kroitor <an.kroi...@samsung.com> Date: Mon Nov 9 16:54:49 2015 +0200 editor: fix CID 85132, 85134, 85135 --- src/bin/editor/editor_macro.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/bin/editor/editor_macro.h b/src/bin/editor/editor_macro.h index 3fe90e5..0eaae00 100644 --- a/src/bin/editor/editor_macro.h +++ b/src/bin/editor/editor_macro.h @@ -157,10 +157,6 @@ editor_state_## FUNC ##_set(Evas_Object *edit_object, Change *change, Eina_Bool diff->undo.args.type_ssds.s2 = eina_stringshare_add(state_name); \ diff->undo.args.type_ssds.d3 = state_val; \ diff->undo.args.type_ssds.s4 = old_value; /* assuming that getter returned stringshare */\ - if (merge) \ - change_diff_merge_add(change, diff); \ - else \ - change_diff_add(change, diff); \ } \ if (!edje_edit_state_## FUNC ##_set(edit_object, part_name, state_name, state_val, new_val)) \ { \ @@ -172,6 +168,13 @@ editor_state_## FUNC ##_set(Evas_Object *edit_object, Change *change, Eina_Bool diff->redo.args.type_ssds.s4 = eina_stringshare_add(FALLBACK_VAL); \ } \ } \ + if (change) /* we should add diff only after all changes to it */\ + { \ + if (merge) \ + change_diff_merge_add(change, diff); \ + else \ + change_diff_add(change, diff); \ + } \ _editor_project_changed(); \ evas_object_smart_callback_call(ap.win, SIGNAL_EDITOR_ATTRIBUTE_CHANGED, &attribute); \ return true; \ --