From d8ab99c147b864bf66347a57b383b7cf0b01fd6b Mon Sep 17 00:00:00 2001 From: Martin Poirier Date: Mon, 26 Dec 2011 19:03:32 +0000 Subject: [#29611] Crash when scale one vertex with snap. Reported by Andrey Penyaz Scale snap defaults to 1 when snapping is impossible (distance to center of transformation is zero). --- source/blender/editors/transform/transform_snap.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source/blender/editors') diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c index 46792457f63..d341a21bc71 100644 --- a/source/blender/editors/transform/transform_snap.c +++ b/source/blender/editors/transform/transform_snap.c @@ -680,7 +680,7 @@ static float RotationBetween(TransInfo *t, float p1[3], float p2[3]) static float ResizeBetween(TransInfo *t, float p1[3], float p2[3]) { - float d1[3], d2[3], center[3]; + float d1[3], d2[3], center[3], len_d1; copy_v3_v3(center, t->center); if(t->flag & (T_EDIT|T_POSE)) { @@ -696,7 +696,9 @@ static float ResizeBetween(TransInfo *t, float p1[3], float p2[3]) mul_m3_v3(t->con.pmtx, d2); } - return len_v3(d2) / len_v3(d1); + len_d1 = len_v3(d1); + + return len_d1 != 0.0f ? len_v3(d2) / len_d1 : 1; } /********************** CALC **************************/ -- cgit v1.2.3