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:
authorTon Roosendaal <ton@blender.org>2007-03-24 14:56:10 +0300
committerTon Roosendaal <ton@blender.org>2007-03-24 14:56:10 +0300
commit796c87e86950c9c456871b833d7f50fa19b0645d (patch)
tree705f5c2b8206af54f42ad5694911a402c5dc8ced /source/blender/src/transform_generics.c
parent1dcb99dce3c7049b0adf479ba22eae30536db8e8 (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-xsource/blender/src/transform_generics.c8
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);