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;
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to