summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2016-06-01 13:30:59 +0300
committerTor Lillqvist <tml@collabora.com>2016-06-01 13:35:38 +0300
commit14469e86d30615618401c5984e05f5609edb1e12 (patch)
tree120ade7ae11aad7804d24337be612413b8c4568f
parent619a41940f0a3be91c8419a571943217183ced18 (diff)
tdf#95581: Assume tiny shears are rounding artefacts etc and can be ignored
See bug report for more discussion. Change-Id: I50ee82abac4ddfbdca0fb03d17c0518860466a52
-rw-r--r--drawinglayer/source/processor2d/vclprocessor2d.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx b/drawinglayer/source/processor2d/vclprocessor2d.cxx
index 62f7dce757c3..b235827d3988 100644
--- a/drawinglayer/source/processor2d/vclprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx
@@ -17,6 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <cmath>
#include <comphelper/string.hxx>
#include "vclprocessor2d.hxx"
#include <drawinglayer/primitive2d/textprimitive2d.hxx>
@@ -107,7 +108,9 @@ namespace drawinglayer
aLocalTransform.decompose(aFontScaling, aTranslate, fRotate, fShearX);
bool bPrimitiveAccepted(false);
- if(basegfx::fTools::equalZero(fShearX))
+ // tdf#95581: Assume tiny shears are rounding artefacts or whatever and can be ignored,
+ // especially if the effect is less than a pixel.
+ if(std::abs(aFontScaling.getY() * fShearX) < 1)
{
if(basegfx::fTools::less(aFontScaling.getX(), 0.0) && basegfx::fTools::less(aFontScaling.getY(), 0.0))
{