# HG changeset patch # User Santeri Piippo # Date 1388327152 -7200 # Node ID b6b39c1721a113602d20913476389bd19f21c96c # Parent d9feccafcbf7fa3375761de3ffb85c8b8cc3971b - fixed: subfile rotation had matrix multiplication done with operands the wrong way around, causing morphing diff -r d9feccafcbf7 -r b6b39c1721a1 changelog.txt --- a/changelog.txt Sun Dec 29 16:24:41 2013 +0200 +++ b/changelog.txt Sun Dec 29 16:25:52 2013 +0200 @@ -52,6 +52,8 @@ and the algorithm can terminate early, hopefully this will save a few cycles on large parts. - The camera icons now draw real tooltips instead of emulated ones. - Color icon border now reflects the color's edge color. +- Fixed: When rotating subfiles, the scale was treated incorrectly due to bad operand order in matrix + multiplication, causing unwanted morphing. - [Linux] Fixed: If an external program is attempted to be launched requiring Wine but with Wine missing, there was no error message and instead LDForge took this as no output from the program. - Fixed: LDForge would sometimes crash during startup over uninitialized data in the GL renderer. diff -r d9feccafcbf7 -r b6b39c1721a1 src/gui_editactions.cc --- a/src/gui_editactions.cc Sun Dec 29 16:24:41 2013 +0200 +++ b/src/gui_editactions.cc Sun Dec 29 16:25:52 2013 +0200 @@ -461,7 +461,7 @@ */ // Transform the matrix - mo->setTransform (mo->getTransform() * transform); + mo->setTransform (transform * mo->getTransform()); } elif (obj->getType() == LDObject::Vertex) { LDVertex* vert = static_cast (obj); vertex v = vert->pos;