[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24617] trunk/blender/source/blender: [ #19760] Extrude + Continuous Grab doesn't work

Martin Poirier theeth at yahoo.com
Tue Nov 17 17:48:44 CET 2009


Revision: 24617
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24617
Author:   theeth
Date:     2009-11-17 17:48:43 +0100 (Tue, 17 Nov 2009)

Log Message:
-----------
[#19760] Extrude + Continuous Grab doesn't work

Flag macro as blocking

Make macro copy operator flags when one of them returns MODAL (these flags are needed by the event system)

Modified Paths:
--------------
    trunk/blender/source/blender/editors/mesh/mesh_ops.c
    trunk/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: trunk/blender/source/blender/editors/mesh/mesh_ops.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/mesh_ops.c	2009-11-17 16:27:53 UTC (rev 24616)
+++ trunk/blender/source/blender/editors/mesh/mesh_ops.c	2009-11-17 16:48:43 UTC (rev 24617)
@@ -176,7 +176,7 @@
 	otmacro= WM_operatortype_macro_define(ot, "TFM_OT_translate");
 		RNA_enum_set(otmacro->ptr, "proportional", 0);
 
-	ot= WM_operatortype_append_macro("MESH_OT_extrude_move", "Extrude", OPTYPE_UNDO|OPTYPE_REGISTER);
+	ot= WM_operatortype_append_macro("MESH_OT_extrude_move", "Extrude", OPTYPE_UNDO|OPTYPE_REGISTER|OPTYPE_BLOCKING);
 	WM_operatortype_macro_define(ot, "MESH_OT_extrude");
 	otmacro= WM_operatortype_macro_define(ot, "TFM_OT_translate");
 		RNA_enum_set(otmacro->ptr, "proportional", 0);

Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2009-11-17 16:27:53 UTC (rev 24616)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2009-11-17 16:48:43 UTC (rev 24617)
@@ -207,6 +207,10 @@
 		else if(opm->type->exec)
 			retval= opm->type->exec(C, opm);
 		
+		/* if modal, pass operator flags to macro, they may be needed later */
+		if(retval & OPERATOR_RUNNING_MODAL)
+			op->flag = opm->flag;
+
 		if(!(retval & OPERATOR_FINISHED))
 			break;
 	}





More information about the Bf-blender-cvs mailing list