[Bf-blender-cvs] [f49e89f] master: Fix T38525: missing update when running bpy.ops.transform.* from the console.

Brecht Van Lommel noreply at git.blender.org
Wed Feb 12 17:06:52 CET 2014


Commit: f49e89fa378cde3bae9020985ed6e55724ae1ae1
Author: Brecht Van Lommel
Date:   Wed Feb 12 17:00:46 2014 +0100
https://developer.blender.org/rBf49e89fa378cde3bae9020985ed6e55724ae1ae1

Fix T38525: missing update when running bpy.ops.transform.* from the console.

===================================================================

M	source/blender/editors/transform/transform_conversions.c
M	source/blender/editors/transform/transform_generics.c

===================================================================

diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index e4bc3f8..053a69f 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -6887,6 +6887,7 @@ void createTransData(bContext *C, TransInfo *t)
 	Scene *scene = t->scene;
 	Object *ob = OBACT;
 
+	/* if tests must match recalcData for correct updates */
 	if (t->options & CTX_TEXTURE) {
 		t->flag |= T_TEXTURE;
 		createTransTexspace(t);
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index 2f67563..af4beff 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -689,8 +689,8 @@ static void recalcData_spaceclip(TransInfo *t)
 	}
 }
 
-/* helper for recalcData() - for 3d-view transforms */
-static void recalcData_view3d(TransInfo *t)
+/* helper for recalcData() - for object transforms, typically in the 3D view */
+static void recalcData_objects(TransInfo *t)
 {
 	Base *base = t->scene->basact;
 	
@@ -939,30 +939,37 @@ static void recalcData_sequencer(TransInfo *t)
 /* called for updating while transform acts, once per redraw */
 void recalcData(TransInfo *t)
 {
-	if (t->spacetype == SPACE_NODE) {
-		flushTransNodes(t);
+	/* if tests must match createTransData for correct updates */
+	if (t->options & CTX_TEXTURE) {
+		recalcData_objects(t);
 	}
-	else if (t->spacetype == SPACE_SEQ) {
-		recalcData_sequencer(t);
+	else if (t->options & CTX_EDGE) {
+		recalcData_objects(t);
+	}
+	else if (t->spacetype == SPACE_IMAGE) {
+		recalcData_image(t);
 	}
 	else if (t->spacetype == SPACE_ACTION) {
 		recalcData_actedit(t);
 	}
-	else if (t->spacetype == SPACE_IPO) {
-		recalcData_graphedit(t);
-	}
 	else if (t->spacetype == SPACE_NLA) {
 		recalcData_nla(t);
 	}
-	else if (t->spacetype == SPACE_IMAGE) {
-		recalcData_image(t);
+	else if (t->spacetype == SPACE_SEQ) {
+		recalcData_sequencer(t);
 	}
-	else if (t->spacetype == SPACE_VIEW3D) {
-		recalcData_view3d(t);
+	else if (t->spacetype == SPACE_IPO) {
+		recalcData_graphedit(t);
+	}
+	else if (t->spacetype == SPACE_NODE) {
+		flushTransNodes(t);
 	}
 	else if (t->spacetype == SPACE_CLIP) {
 		recalcData_spaceclip(t);
 	}
+	else {
+		recalcData_objects(t);
+	}
 }
 
 void drawLine(TransInfo *t, const float center[3], const float dir[3], char axis, short options)




More information about the Bf-blender-cvs mailing list