[Libreoffice-commits] core.git: svgio/source

Chr. Rossmanith ChrRossmanith at gmx.de
Sun Oct 6 14:44:54 PDT 2013


 svgio/source/svgreader/svgstyleattributes.cxx |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

New commits:
commit 81d175db511764cceb67f3448f0b5e81ea18e431
Author: Chr. Rossmanith <ChrRossmanith at gmx.de>
Date:   Sun Oct 6 08:26:42 2013 +0200

    fdo63235 - correct usage of marker-start/-end for svg path data
    
    marker orientation will be corrected in a subsequent patch
    
    Change-Id: I0c833b62d06ad21ebe5fbaf170cfb22cecbf146d
    Reviewed-on: https://gerrit.libreoffice.org/6086
    Reviewed-by: Regina Henschel <rb.henschel at t-online.de>
    Reviewed-by: Norbert Thiebaud <nthiebaud at gmail.com>
    Tested-by: Norbert Thiebaud <nthiebaud at gmail.com>

diff --git a/svgio/source/svgreader/svgstyleattributes.cxx b/svgio/source/svgreader/svgstyleattributes.cxx
index 511872e..67219e7 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))
                             {


More information about the Libreoffice-commits mailing list