summaryrefslogtreecommitdiff
path: root/src/transform.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2012-02-19 12:09:02 (GMT)
committerMarius Kintel <marius@kintel.net>2012-02-19 12:09:02 (GMT)
commitc5703b44077ca6185f7611d6ffba68f4955c1cbd (patch)
treed427746f36983ea977a84e0d04a04d179592ce7c /src/transform.cc
parent955e0f1344d772119e2d7af1afb7658df7e8c43e (diff)
bugfix: Fix crash bug when using zero scale factors. Reported by Alan Cox
Diffstat (limited to 'src/transform.cc')
-rw-r--r--src/transform.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/transform.cc b/src/transform.cc
index f5038b1..c2ac194 100644
--- a/src/transform.cc
+++ b/src/transform.cc
@@ -87,11 +87,10 @@ AbstractNode *TransformModule::evaluate(const Context *ctx, const ModuleInstanti
{
Vector3d scalevec(1,1,1);
Value v = c.lookup_variable("v");
- v.getnum(scalevec[0]);
- v.getnum(scalevec[1]);
- v.getnum(scalevec[2]);
- v.getv3(scalevec[0], scalevec[1], scalevec[2]);
- if (scalevec[2] == 0) scalevec[2] = 1;
+ if (!v.getv3(scalevec[0], scalevec[1], scalevec[2], 1.0)) {
+ double num;
+ if (v.getnum(num)) scalevec.setConstant(num);
+ }
node->matrix.scale(scalevec);
}
else if (this->type == ROTATE)
contact: Jan Huwald // Impressum