summaryrefslogtreecommitdiff
path: root/svgio
diff options
context:
space:
mode:
Diffstat (limited to 'svgio')
-rw-r--r--svgio/source/svgreader/svgstyleattributes.cxx10
1 files changed, 6 insertions, 4 deletions
diff --git a/svgio/source/svgreader/svgstyleattributes.cxx b/svgio/source/svgreader/svgstyleattributes.cxx
index 511872ec7f1e..67219e7060a8 100644
--- a/svgio/source/svgreader/svgstyleattributes.cxx
+++ b/svgio/source/svgreader/svgstyleattributes.cxx
@@ -949,7 +949,7 @@ namespace svgio
basegfx::B2DRange aClipRange;
const SvgMarkerNode* pPrepared = 0;
- if(pStart)
+ if(pStart && a==0)
{
if(prepare_singleMarker(aMarkerPrimitives, aMarkerTransform, aClipRange, *pStart))
{
@@ -958,20 +958,22 @@ namespace svgio
}
}
- if(pMid && nMarkerCount > 2)
+ if(pMid)
{
if(pMid == pPrepared || prepare_singleMarker(aMarkerPrimitives, aMarkerTransform, aClipRange, *pMid))
{
pPrepared = pMid;
+ const sal_uInt32 nFirstIndex(a==0 ? 1 : 0);
+ const sal_uInt32 nLastIndex(a==nCount-1 ? nMarkerCount-1 : nMarkerCount);
- for(sal_uInt32 b(1); b < nMarkerCount - 1; b++)
+ for(sal_uInt32 b(nFirstIndex); b < nLastIndex; b++)
{
add_singleMarker(rTarget, aMarkerPrimitives, aMarkerTransform, aClipRange, *pPrepared, aCandidate, b);
}
}
}
- if(pEnd)
+ if(pEnd && a==nCount-1)
{
if(pEnd == pPrepared || prepare_singleMarker(aMarkerPrimitives, aMarkerTransform, aClipRange, *pEnd))
{