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:
authorCampbell Barton <ideasman42@gmail.com>2014-04-25 20:01:54 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-04-25 20:06:57 +0400
commita34a65314c82eb4fc34cd6b922e40b19cece5ade (patch)
treef72703a996fc8091e362acef17d4476a1b6171a2 /source/blender/editors/transform/transform_conversions.c
parenta3b0ba287104e37d19d47197cbc3e64ba4498353 (diff)
Fix for transform local-axis calculation with zero length normals
Diffstat (limited to 'source/blender/editors/transform/transform_conversions.c')
-rw-r--r--source/blender/editors/transform/transform_conversions.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 2ac92ce78be..0ad77504c64 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -2059,9 +2059,13 @@ static struct TransIslandData *editmesh_islands_info_calc(BMEditMesh *em, int *r
/* pass */
}
else {
- normalize_v3(no);
- axis_dominant_v3_to_m3(trans_islands[i].axismtx, no);
- invert_m3(trans_islands[i].axismtx);
+ if (normalize_v3(no) != 0.0f) {
+ axis_dominant_v3_to_m3(trans_islands[i].axismtx, no);
+ invert_m3(trans_islands[i].axismtx);
+ }
+ else {
+ unit_m3(trans_islands[i].axismtx);
+ }
}
}