From 796c87e86950c9c456871b833d7f50fa19b0645d Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Sat, 24 Mar 2007 11:56:10 +0000 Subject: Bugfix #6435 New option "rotate around selection" failed in editmode, when nothing was selected. Function calculateCenterMedian() missed that case. Also added some zero initializing in code. --- source/blender/src/transform_generics.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source/blender/src/transform_generics.c') diff --git a/source/blender/src/transform_generics.c b/source/blender/src/transform_generics.c index 10e1e8a704c..d445603e1ed 100755 --- a/source/blender/src/transform_generics.c +++ b/source/blender/src/transform_generics.c @@ -482,6 +482,10 @@ void initTrans (TransInfo *t) t->vec[1] = t->vec[2] = 0.0f; + t->center[0] = + t->center[1] = + t->center[2] = 0.0f; + Mat3One(t->mat); t->spacetype = curarea->spacetype; @@ -678,6 +682,7 @@ void calculateCenterMedian(TransInfo *t) { float partial[3] = {0.0f, 0.0f, 0.0f}; int i; + for(i = 0; i < t->total; i++) { if (t->data[i].flag & TD_SELECTED) { VecAddf(partial, partial, t->data[i].center); @@ -690,7 +695,8 @@ void calculateCenterMedian(TransInfo *t) break; } } - VecMulf(partial, 1.0f / i); + if(i) + VecMulf(partial, 1.0f / i); VECCOPY(t->center, partial); calculateCenter2D(t); -- cgit v1.2.3