fix [#26801] Undoing Animation modifiers undoes 2 steps.
authorCampbell Barton <ideasman42@gmail.com>
Wed, 6 Apr 2011 01:13:01 +0000 (01:13 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 6 Apr 2011 01:13:01 +0000 (01:13 +0000)
also found grease pencil layer operators were not flagged to use undo.

source/blender/editors/animation/fmodifier_ui.c
source/blender/editors/gpencil/gpencil_edit.c
source/tests/CMakeLists.txt

index 85063be852d625edcc99b53eb4a79ae7097f433c..954928fc48609b4c327427ab482125ee7d9b0282 100644 (file)
@@ -62,6 +62,7 @@
 #include "UI_resources.h"
 
 #include "ED_anim_api.h"
+#include "ED_util.h"
 
 /* ********************************************** */
 /* UI STUFF */
@@ -99,6 +100,8 @@ static void delete_fmodifier_cb (bContext *C, void *fmods_v, void *fcm_v)
        
        /* remove the given F-Modifier from the active modifier-stack */
        remove_fmodifier(modifiers, fcm);
+
+       ED_undo_push(C, "Delete F-Curve Modifier");
        
        /* send notifiers */
        // XXX for now, this is the only way to get updates in all the right places... but would be nice to have a special one in this case 
index 31e0324f0aa915b9d7cc5fbe2b6d00fe0022e69a..2baefc2de8ea9cd9645b73c175ea2db8d87ef3e7 100644 (file)
@@ -201,6 +201,7 @@ void GPENCIL_OT_data_add (wmOperatorType *ot)
        ot->name= "Grease Pencil Add New";
        ot->idname= "GPENCIL_OT_data_add";
        ot->description= "Add new Grease Pencil datablock";
+       ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
        
        /* callbacks */
        ot->exec= gp_data_add_exec;
@@ -248,6 +249,7 @@ void GPENCIL_OT_data_unlink (wmOperatorType *ot)
        ot->name= "Grease Pencil Unlink";
        ot->idname= "GPENCIL_OT_data_unlink";
        ot->description= "Unlink active Grease Pencil datablock";
+       ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
        
        /* callbacks */
        ot->exec= gp_data_unlink_exec;
@@ -284,6 +286,7 @@ void GPENCIL_OT_layer_add (wmOperatorType *ot)
        ot->name= "Add New Layer";
        ot->idname= "GPENCIL_OT_layer_add";
        ot->description= "Add new Grease Pencil layer for the active Grease Pencil datablock";
+       ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
        
        /* callbacks */
        ot->exec= gp_layer_add_exec;
@@ -334,6 +337,7 @@ void GPENCIL_OT_active_frame_delete (wmOperatorType *ot)
        ot->name= "Delete Active Frame";
        ot->idname= "GPENCIL_OT_active_frame_delete";
        ot->description= "Delete the active frame for the active Grease Pencil datablock";
+       ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
        
        /* callbacks */
        ot->exec= gp_actframe_delete_exec;
@@ -599,6 +603,7 @@ void GPENCIL_OT_convert (wmOperatorType *ot)
        ot->name= "Convert Grease Pencil";
        ot->idname= "GPENCIL_OT_convert";
        ot->description= "Convert the active Grease Pencil layer to a new Object";
+       ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
        
        /* callbacks */
        ot->invoke= WM_menu_invoke;
index 5dd8883ec8c3311dff2e17309bb3b4c7d2e0a08f..5acbf7aa903453e179de15ca9da8df93d3ad41a4 100644 (file)
@@ -42,6 +42,7 @@ else()
        set(TEST_BLENDER_EXE ${EXECUTABLE_OUTPUT_PATH}/blender)
 endif()
 
+# for testing with valgrind prefix: valgrind --track-origins=yes --error-limit=no 
 set(TEST_BLENDER_EXE ${TEST_BLENDER_EXE} --background --factory-startup --env-system-scripts ${CMAKE_SOURCE_DIR}/release/scripts)