[libreoffice/f18] Resolves: rhbz#906386 impress conversion from pptx to odp breaks some shapes

David Tardon dtardon at fedoraproject.org
Thu Feb 28 14:38:56 UTC 2013


commit 459c663c3742bdeb22f79f46816637d693eea8e9
Author: David Tardon <dtardon at redhat.com>
Date:   Thu Feb 28 15:38:19 2013 +0100

    Resolves: rhbz#906386 impress conversion from pptx to odp breaks some shapes

 ...arcangleto-commands-in-enhanced-path-use-.patch |   95 ++++++++++++++++++++
 libreoffice.spec                                   |    7 ++-
 2 files changed, 101 insertions(+), 1 deletions(-)
---
diff --git a/0001-odf-export-arcangleto-commands-in-enhanced-path-use-.patch b/0001-odf-export-arcangleto-commands-in-enhanced-path-use-.patch
new file mode 100644
index 0000000..7776e5d
--- /dev/null
+++ b/0001-odf-export-arcangleto-commands-in-enhanced-path-use-.patch
@@ -0,0 +1,95 @@
+From d8720d4e390143279ccae8eed05decf54240e8fa Mon Sep 17 00:00:00 2001
+From: Radek Doulik <rodo at novell.com>
+Date: Thu, 19 Jul 2012 11:06:50 +0200
+Subject: [PATCH] odf: export arcangleto commands in enhanced path (use drawooo
+ namespace)
+
+Change-Id: I43a2c08ee8dfc0abe4d05579b837b5be0944c0fe
+---
+ xmloff/source/core/xmlexp.cxx          | 3 ++-
+ xmloff/source/draw/sdxmlexp.cxx        | 5 -----
+ xmloff/source/draw/shapeexport4.cxx    | 5 ++++-
+ xmloff/source/draw/ximpcustomshape.cxx | 7 +++++++
+ 4 files changed, 13 insertions(+), 7 deletions(-)
+
+diff --git a/xmloff/source/core/xmlexp.cxx b/xmloff/source/core/xmlexp.cxx
+index 82c414e..cbf9ef3 100644
+--- a/xmloff/source/core/xmlexp.cxx
++++ b/xmloff/source/core/xmlexp.cxx
+@@ -375,7 +375,8 @@ void SvXMLExport::_InitCtor()
+                 GetXMLToken(XML_NP_TABLE_EXT), GetXMLToken(XML_N_TABLE_EXT), XML_NAMESPACE_TABLE_EXT);
+             mpNamespaceMap->Add(
+                 GetXMLToken(XML_NP_CALC_EXT), GetXMLToken(XML_N_CALC_EXT), XML_NAMESPACE_CALC_EXT);
+-
++            mpNamespaceMap->Add(
++                GetXMLToken(XML_NP_DRAW_EXT), GetXMLToken(XML_N_DRAW_EXT), XML_NAMESPACE_DRAW_EXT);
+         }
+     }
+     if( (getExportFlags() & (EXPORT_MASTERSTYLES|EXPORT_CONTENT) ) != 0 )
+diff --git a/xmloff/source/draw/sdxmlexp.cxx b/xmloff/source/draw/sdxmlexp.cxx
+index ce4d418..8927e92 100644
+--- a/xmloff/source/draw/sdxmlexp.cxx
++++ b/xmloff/source/draw/sdxmlexp.cxx
+@@ -641,11 +641,6 @@ void SAL_CALL SdXMLExport::setSourceDocument( const Reference< lang::XComponent
+             GetXMLToken(XML_NP_OFFICE_EXT),
+             GetXMLToken(XML_N_OFFICE_EXT),
+             XML_NAMESPACE_OFFICE_EXT);
+-
+-        _GetNamespaceMap().Add(
+-            GetXMLToken(XML_NP_DRAW_EXT),
+-            GetXMLToken(XML_N_DRAW_EXT),
+-            XML_NAMESPACE_DRAW_EXT);
+     }
+ 
+     GetShapeExport()->enableLayerExport();
+diff --git a/xmloff/source/draw/shapeexport4.cxx b/xmloff/source/draw/shapeexport4.cxx
+index aa4701d..43e75f9 100644
+--- a/xmloff/source/draw/shapeexport4.cxx
++++ b/xmloff/source/draw/shapeexport4.cxx
+@@ -329,6 +329,7 @@ void ImpExportEnhancedPath( SvXMLExport& rExport,
+ 
+     rtl::OUString       aStr;
+     rtl::OUStringBuffer aStrBuffer;
++    sal_uInt16 aNamespace = XML_NAMESPACE_DRAW;
+ 
+     sal_Int32 i, j, k, l;
+ 
+@@ -413,6 +414,8 @@ void ImpExportEnhancedPath( SvXMLExport& rExport,
+                 aStrBuffer.append( (sal_Unicode)'Y' ); nParameter = 1; break;
+             case com::sun::star::drawing::EnhancedCustomShapeSegmentCommand::QUADRATICCURVETO :
+                 aStrBuffer.append( (sal_Unicode)'Q' ); nParameter = 2; break;
++            case com::sun::star::drawing::EnhancedCustomShapeSegmentCommand::ARCANGLETO :
++                aStrBuffer.append( (sal_Unicode)'G' ); nParameter = 2; aNamespace = XML_NAMESPACE_DRAW_EXT; break;
+ 
+             default : // ups, seems to be something wrong
+             {
+@@ -442,7 +445,7 @@ void ImpExportEnhancedPath( SvXMLExport& rExport,
+         }
+     }
+     aStr = aStrBuffer.makeStringAndClear();
+-    rExport.AddAttribute( XML_NAMESPACE_DRAW, XML_ENHANCED_PATH, aStr );
++    rExport.AddAttribute( aNamespace, XML_ENHANCED_PATH, aStr );
+ }
+ 
+ void ImpExportEnhancedGeometry( SvXMLExport& rExport, const uno::Reference< beans::XPropertySet >& xPropSet )
+diff --git a/xmloff/source/draw/ximpcustomshape.cxx b/xmloff/source/draw/ximpcustomshape.cxx
+index 0736fe3..f8966a1 100644
+--- a/xmloff/source/draw/ximpcustomshape.cxx
++++ b/xmloff/source/draw/ximpcustomshape.cxx
+@@ -667,6 +667,13 @@ void GetEnhancedPath( std::vector< com::sun::star::beans::PropertyValue >& rDest
+                 nIndex++;
+             }
+             break;
++            case 'G' :
++            {
++                nLatestSegmentCommand = com::sun::star::drawing::EnhancedCustomShapeSegmentCommand::ARCANGLETO;
++                nParametersNeeded = 2;
++                nIndex++;
++            }
++            break;
+             case 'W' :
+             {
+                 nLatestSegmentCommand = com::sun::star::drawing::EnhancedCustomShapeSegmentCommand::CLOCKWISEARCTO;
+-- 
+1.8.1
+
diff --git a/libreoffice.spec b/libreoffice.spec
index 59495fc..5e3f55f 100644
--- a/libreoffice.spec
+++ b/libreoffice.spec
@@ -44,7 +44,7 @@ Summary:        Free Software Productivity Suite
 Name:           libreoffice
 Epoch:          1
 Version:        %{libo_version}.2
-Release:        5%{?libo_prerelease}%{?dist}
+Release:        6%{?libo_prerelease}%{?dist}
 License:        (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and Artistic and MPLv2.0
 Group:          Applications/Productivity
 URL:            http://www.documentfoundation.org/develop
@@ -261,6 +261,7 @@ Patch39: 0001-Resolves-rhbz-895196-sc-filter-float-a11y-parent-of-.patch
 Patch40: 0001-do-not-access-vector-elements-beyond-size-rhbz-84751.patch
 Patch41: 0001-Resolves-rhbz-907933-crash-on-removing-second-last-p.patch
 Patch42: 0001-fdo-60491-scp2-always-package-emboleobj-library-on-n.patch
+Patch43: 0001-odf-export-arcangleto-commands-in-enhanced-path-use-.patch
 
 %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
 %define instdir %{_libdir}
@@ -1015,6 +1016,7 @@ mv -f redhat.soc extras/source/palettes/standard.soc
 %patch40 -p1 -b .do-not-access-vector-elements-beyond-size-rhbz-84751.patch
 %patch41 -p1 -b .rhbz-907933-crash-on-removing-second-last-p.patch
 %patch42 -p1 -b .fdo-60491-scp2-always-package-emboleobj-library-on-n.patch
+%patch43 -p1 -b .odf-export-arcangleto-commands-in-enhanced-path-use-.patch
 
 # TODO: check this
 # these are horribly incomplete--empty translations and copied english
@@ -2284,6 +2286,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
 %endif
 
 %changelog
+* Thu Feb 28 2013 David Tardon <dtardon at redhat.com> - 1:3.6.5.2-6-UNBUILT
+- Resolves: rhbz#906386 impress conversion from pptx to odp breaks some shapes
+
 * Tue Feb 26 2013 Caolán McNamara <caolanm at redhat.com> - 1:3.6.5.2-5
 - Resolves: rhbz#895196 sc filter float a11y parent of itself
 - do not access vector elements beyond size, rhbz#847519 related


More information about the scm-commits mailing list