From 3bbdd817042a665d8f02a2bd4ee668840791bc7f Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Wed, 1 Jun 2016 13:30:59 +0300 Subject: tdf#95581: Assume tiny shears are rounding artefacts etc and can be ignored See bug report for more discussion. Change-Id: I50ee82abac4ddfbdca0fb03d17c0518860466a52 Reviewed-on: https://gerrit.libreoffice.org/25766 Reviewed-by: Tor Lillqvist Tested-by: Tor Lillqvist --- drawinglayer/source/processor2d/vclprocessor2d.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx b/drawinglayer/source/processor2d/vclprocessor2d.cxx index 67625c0b85a4..f113c723d69a 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 #include #include "vclprocessor2d.hxx" #include @@ -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)) { -- cgit v1.2.3