Author: regina
Date: Wed Oct 9 10:25:00 2013
New Revision: 1530554
URL: http://svn.apache.org/r1530554
Log:
#i123379 SVG wrong kind of markers on mid position
Author:Christina Roßmanith
Modified:
openoffice/trunk/main/svgio/source/svgreader/svgstyleattributes.cxx
Modified: openoffice/trunk/main/svgio/source/svgreader/svgstyleattributes.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svgio/source/svgreader/svgstyleattributes.cxx?rev=1530554&r1=1530553&r2=1530554&view=diff
==============================================================================
--- openoffice/trunk/main/svgio/source/svgreader/svgstyleattributes.cxx
(original)
+++ openoffice/trunk/main/svgio/source/svgreader/svgstyleattributes.cxx Wed Oct
9 10:25:00 2013
@@ -958,7 +958,7 @@ namespace svgio
basegfx::B2DRange aClipRange;
const SvgMarkerNode* pPrepared = 0;
- if(pStart)
+ if(pStart && a==0)
{
if(prepare_singleMarker(aMarkerPrimitives,
aMarkerTransform, aClipRange, *pStart))
{
@@ -967,20 +967,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))
{