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; \

-- 


Reply via email to