diff options
author | Ton Roosendaal <ton@blender.org> | 2007-03-24 14:56:10 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2007-03-24 14:56:10 +0300 |
commit | 796c87e86950c9c456871b833d7f50fa19b0645d (patch) | |
tree | 705f5c2b8206af54f42ad5694911a402c5dc8ced /source/blender/src/transform_generics.c | |
parent | 1dcb99dce3c7049b0adf479ba22eae30536db8e8 (diff) |
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.
Diffstat (limited to 'source/blender/src/transform_generics.c')
-rwxr-xr-x | source/blender/src/transform_generics.c | 8 |
1 files changed, 7 insertions, 1 deletions
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); |