[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - oox/source
Cédric Bosdonnat
cedric.bosdonnat at free.fr
Fri Jun 28 00:24:37 PDT 2013
oox/source/vml/vmlformatting.cxx | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
New commits:
commit 38d499a1e6bf8bd4fb080134059fff6152278d0b
Author: Cédric Bosdonnat <cedric.bosdonnat at free.fr>
Date: Wed Jun 26 11:26:56 2013 +0200
n#820504: start a new subpath with m and t in VML path decoding
Change-Id: I7bac4b111ede5e815d2ed121c18f4cfe1ad0950e
(cherry picked from commit 8d6eb11d6965ee93e72513f5e01b67f598edf6c3)
Reviewed-on: https://gerrit.libreoffice.org/4537
Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
Tested-by: Fridrich Strba <fridrich at documentfoundation.org>
diff --git a/oox/source/vml/vmlformatting.cxx b/oox/source/vml/vmlformatting.cxx
index 06543f1..4a779d2 100644
--- a/oox/source/vml/vmlformatting.cxx
+++ b/oox/source/vml/vmlformatting.cxx
@@ -306,11 +306,16 @@ bool lclExtractDouble( double& orfValue, sal_Int32& ornEndPos, const OUString& r
// Upon finding the next command code, deal with stored
// coordinates for previous command and reset parameters counter if needed.
// See http://www.w3.org/TR/NOTE-VML#_Toc416858382 for params count reference
- if ( rPath[ i ] != ',' || nParamCount == 0)
+ if ( rPath[ i ] != ',' || nParamCount == 0 )
{
switch ( state )
{
case MOVE_REL: // 2* params -> param count reset
+ if ( rPointLists.size() > 0 && rPointLists.back().size() > 0 )
+ {
+ rPointLists.push_back( ::std::vector< Point >() );
+ rFlagLists.push_back( ::std::vector< PolygonFlags >() );
+ }
rPointLists.back().push_back( Point( aCoordList[ 0 ], aCoordList[ 1 ] ) );
rFlagLists.back().push_back( PolygonFlags_NORMAL );
aCurrentPoint = rPointLists.back().back();
@@ -318,6 +323,11 @@ bool lclExtractDouble( double& orfValue, sal_Int32& ornEndPos, const OUString& r
break;
case MOVE_ABS: // 2 params -> no param count reset
+ if ( rPointLists.size() > 0 && rPointLists.back().size() > 0 )
+ {
+ rPointLists.push_back( ::std::vector< Point >() );
+ rFlagLists.push_back( ::std::vector< PolygonFlags >() );
+ }
rPointLists.back().push_back( Point( aCoordList[ 0 ], aCoordList[ 1 ] ) );
rFlagLists.back().push_back( PolygonFlags_NORMAL );
aCurrentPoint = rPointLists.back().back();
More information about the Libreoffice-commits
mailing list