[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37339] trunk/blender/source/blender: Bugfix #26886

Ton Roosendaal ton at blender.org
Thu Jun 9 17:26:05 CEST 2011


Revision: 37339
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37339
Author:   ton
Date:     2011-06-09 15:26:05 +0000 (Thu, 09 Jun 2011)
Log Message:
-----------
Bugfix #26886

Operator redo: F6 menu didn't work for macros yet (like Duplicate-grab).

Modified Paths:
--------------
    trunk/blender/source/blender/editors/screen/screen_ops.c
    trunk/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c	2011-06-09 15:20:29 UTC (rev 37338)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c	2011-06-09 15:26:05 UTC (rev 37339)
@@ -2461,14 +2461,8 @@
 
 static int redo_last_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *UNUSED(event))
 {
-	wmWindowManager *wm= CTX_wm_manager(C);
-	wmOperator *lastop;
+	wmOperator *lastop= WM_operator_last_redo(C);
 	
-	/* only for operators that are registered and did an undo push */
-	for(lastop= wm->operators.last; lastop; lastop= lastop->prev)
-		if((lastop->type->flag & OPTYPE_REGISTER) && (lastop->type->flag & OPTYPE_UNDO))
-			break;
-	
 	if(lastop)
 		WM_operator_redo_popup(C, lastop);
 	

Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2011-06-09 15:20:29 UTC (rev 37338)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2011-06-09 15:26:05 UTC (rev 37339)
@@ -921,7 +921,16 @@
 	if(ED_undo_valid(C, op->type->name)==0)
 		uiLayoutSetEnabled(layout, 0);
 
-	uiLayoutOperatorButs(C, layout, op, NULL, 'H', UI_LAYOUT_OP_SHOW_TITLE);
+	if(op->type->flag & OPTYPE_MACRO) {
+		for(op= op->macro.first; op; op= op->next) {
+			uiItemL(layout, op->type->name, ICON_NONE);
+			uiLayoutOperatorButs(C, layout, op, NULL, 'H', UI_LAYOUT_OP_SHOW_TITLE);
+		}
+	}
+	else {
+		uiLayoutOperatorButs(C, layout, op, NULL, 'H', UI_LAYOUT_OP_SHOW_TITLE);
+	}
+	
 
 	uiPopupBoundsBlock(block, 4, 0, 0);
 	uiEndBlock(C, block);
@@ -3125,7 +3134,6 @@
 static int radial_control_modal(bContext *C, wmOperator *op, wmEvent *event)
 {
 	RadialControl *rc = op->customdata;
-	wmWindowManager *wm;
 	float new_value, dist, zoom[2];
 	float delta[2], snap, ret = OPERATOR_RUNNING_MODAL;
 




More information about the Bf-blender-cvs mailing list