Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2014-02-12 20:00:46 +0400
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2014-02-12 20:01:53 +0400
commitf49e89fa378cde3bae9020985ed6e55724ae1ae1 (patch)
treeb420b3164711d4f6fbb2abc6fa1366ca791b2e20 /source/blender
parent09e5373c0647db6144ceaf3f730a4c67c76dfc42 (diff)
Fix T38525: missing update when running bpy.ops.transform.* from the console.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/transform/transform_conversions.c1
-rw-r--r--source/blender/editors/transform/transform_generics.c33
2 files changed, 21 insertions, 13 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index e4bc3f8d45a..053a69faaaf 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 2f6756366e3..af4beff4bc9 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)