[Libreoffice-commits] .: xmloff/source

Thorsten Behrens thorsten at kemper.freedesktop.org
Mon Mar 26 03:19:39 PDT 2012


 xmloff/source/draw/xexptran.cxx |   10 ++++++++++
 1 file changed, 10 insertions(+)

New commits:
commit a2ee8055e9c136923f0244fe289cac6377933c31
Author: Thorsten Behrens <tbehrens at suse.com>
Date:   Fri Mar 23 17:46:43 2012 +0100

    Fix fdo#47406 incorrect relative moves after closePath
    
    I missed the fact that odf export still uses the old exporter in
    xmloff/source/draw/xexptran.cxx, which was not fixed wrt. the update
    of current position in basegfx/source/polygon/b2dsvgpolypolygon.cxx

diff --git a/xmloff/source/draw/xexptran.cxx b/xmloff/source/draw/xexptran.cxx
index 15ef848..6032984 100644
--- a/xmloff/source/draw/xexptran.cxx
+++ b/xmloff/source/draw/xexptran.cxx
@@ -1606,6 +1606,7 @@ void SdXMLImExSvgDElement::AddPolygon(
 
         // bezier poly, handle curves
         bool  bDidWriteStart(false);
+        sal_Int32 nStartX(0), nStartY(0);
 
         for(sal_Int32 a(0L); a < nCnt; a++)
         {
@@ -2080,6 +2081,8 @@ void SdXMLImExSvgDElement::AddPolygon(
 
                         // remember start written
                         bDidWriteStart = true;
+                        nStartX = nX;
+                        nStartY = nY;
                     }
 
                     // remember new last position
@@ -2100,6 +2103,13 @@ void SdXMLImExSvgDElement::AddPolygon(
                 aNewString += rtl::OUString(static_cast<sal_Unicode>('z'));
             else
                 aNewString += rtl::OUString(static_cast<sal_Unicode>('Z'));
+
+            // update current point - we're back at the start
+            if( bDidWriteStart )
+            {
+                mnLastX = nStartX;
+                mnLastY = nStartY;
+            }
         }
 
         // append new string


More information about the Libreoffice-commits mailing list