From 2bbcd06df60f4e7ab76e908a1173eeb343b22868 Mon Sep 17 00:00:00 2001
From: Andrzej Hunt <andrzej.hunt@collabora.com>
Date: Wed, 1 Jan 2014 17:07:56 +0000
Subject: [PATCH 093/109] EMF+: mapping can rotate the width vector, so use
resulting length.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Otherwise (i.e. with non-vertical lines) the width will be incorrect,
and can result in lines disappearing as the resulting X component
can be tiny/approaching zero.
Change-Id: Icf3b7c10c627594600b517b8ff445f8df87c56f8
(cherry picked from commit 83f2b3c590120a60b5e94fb1a15054ebe0745dbb)
Reviewed-on: https://gerrit.libreoffice.org/7249
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
---
cppcanvas/source/mtfrenderer/emfplus.cxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cppcanvas/source/mtfrenderer/emfplus.cxx b/cppcanvas/source/mtfrenderer/emfplus.cxx
index 5eefdf6..7614bbb 100644
--- a/cppcanvas/source/mtfrenderer/emfplus.cxx
+++ b/cppcanvas/source/mtfrenderer/emfplus.cxx
@@ -789,7 +789,7 @@ namespace cppcanvas
SAL_INFO ("cppcanvas.emf", "TODO: pen with zero width - using minimal which might not be correct\n");
}
#endif
- rStrokeAttributes.StrokeWidth = fabs((rState.mapModeTransform * rR.MapSize (width == 0.0 ? 0.05 : width, 0)).getX());
+ rStrokeAttributes.StrokeWidth = fabs((rState.mapModeTransform * rR.MapSize (width == 0.0 ? 0.05 : width, 0)).getLength());
}
void SetStrokeAttributes(rendering::StrokeAttributes& rStrokeAttributes)
--
1.8.4.2