[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34244] trunk/blender/source/blender/ editors/interface/interface_handlers.c: bugfix [#25577] Ctrl-Z after adding Color Ramp key resets ramp.

Campbell Barton ideasman42 at gmail.com
Tue Jan 11 04:22:38 CET 2011


Revision: 34244
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=34244
Author:   campbellbarton
Date:     2011-01-11 03:22:37 +0000 (Tue, 11 Jan 2011)
Log Message:
-----------
bugfix [#25577] Ctrl-Z after adding Color Ramp key resets ramp.
 buttons would not add an undo event if the button had no tooltip/draw-string.

 add a fallback string 'Unknown Action' so undo's are predictable.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_handlers.c

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c	2011-01-11 02:49:01 UTC (rev 34243)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c	2011-01-11 03:22:37 UTC (rev 34244)
@@ -326,18 +326,22 @@
 {
 	Scene *scene= CTX_data_scene(C);
 	uiAfterFunc *after;
-	const char *str= NULL;
 
 	if(but->flag & UI_BUT_UNDO) {
+		const char *str= NULL;
+
 		/* define which string to use for undo */
 		if ELEM(but->type, LINK, INLINK) str= "Add button link";
 		else if ELEM(but->type, MENU, ICONTEXTROW) str= but->drawstr;
 		else if(but->drawstr[0]) str= but->drawstr;
 		else str= but->tip;
-	}
 
-	/* delayed, after all other funcs run, popups are closed, etc */
-	if(str) {
+		/* fallback, else we dont get an undo! */
+		if(str == NULL || str[0] == '\0') {
+			str= "Unknown Action";
+		}
+
+		/* delayed, after all other funcs run, popups are closed, etc */
 		after= MEM_callocN(sizeof(uiAfterFunc), "uiAfterFunc");
 		BLI_strncpy(after->undostr, str, sizeof(after->undostr));
 		BLI_addtail(&UIAfterFuncs, after);




More information about the Bf-blender-cvs mailing list