From c8c4c84a5dda6f06aedba8d4cfef208be6812dbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Mon, 27 Mar 2017 10:08:33 +0100 Subject: [PATCH] ofz#947 line dashing is very problematic memory and size wise MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I29ed7cd774d3ede077edfe2893c7a9e72b83abad Reviewed-on: https://gerrit.libreoffice.org/35748 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- drawinglayer/source/primitive2d/polygonprimitive2d.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drawinglayer/source/primitive2d/polygonprimitive2d.cxx b/drawinglayer/source/primitive2d/polygonprimitive2d.cxx index 0d41a8d88a7c..147af59b6404 100644 --- a/drawinglayer/source/primitive2d/polygonprimitive2d.cxx +++ b/drawinglayer/source/primitive2d/polygonprimitive2d.cxx @@ -345,10 +345,16 @@ namespace drawinglayer bUseDecomposition = true; } - if(bUseDecomposition) + if (bUseDecomposition) { // get correct range by using the decomposition fallback, reasons see above cases + + // ofz#947 to optimize calculating the range, turn any slow dashes into a solid line + // when just calculating bounds + attribute::StrokeAttribute aOrigStrokeAttribute = maStrokeAttribute; + const_cast(this)->maStrokeAttribute = attribute::StrokeAttribute(); aRetval = BufferedDecompositionPrimitive2D::getB2DRange(rViewInformation); + const_cast(this)->maStrokeAttribute = aOrigStrokeAttribute; } else {