You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by re...@apache.org on 2013/10/09 12:25:01 UTC

svn commit: r1530554 - /openoffice/trunk/main/svgio/source/svgreader/svgstyleattributes.cxx

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))
                             {