summaryrefslogtreecommitdiff
path: root/xmloff/source
diff options
context:
space:
mode:
Diffstat (limited to 'xmloff/source')
-rw-r--r--xmloff/source/draw/XMLGraphicsDefaultStyle.cxx18
-rw-r--r--xmloff/source/draw/ximpshap.cxx30
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/form_handler_factory.hxx0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/handler/form_handler_factory.cxx0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/handler/makefile.mk0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/handler/property_handler_base.cxx0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/handler/property_handler_base.hxx0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/handler/vcl_date_handler.cxx0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/handler/vcl_date_handler.hxx0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/handler/vcl_time_handler.cxx0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/handler/vcl_time_handler.hxx0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/property_description.hxx0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/property_group.hxx0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/property_handler.hxx0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/property_ids.hxx0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/property_meta_data.cxx0
-rwxr-xr-x[-rw-r--r--]xmloff/source/forms/property_meta_data.hxx0
-rw-r--r--xmloff/source/text/XMLTextListAutoStylePool.cxx8
18 files changed, 55 insertions, 1 deletions
diff --git a/xmloff/source/draw/XMLGraphicsDefaultStyle.cxx b/xmloff/source/draw/XMLGraphicsDefaultStyle.cxx
index 184f855276..b21e45798b 100644
--- a/xmloff/source/draw/XMLGraphicsDefaultStyle.cxx
+++ b/xmloff/source/draw/XMLGraphicsDefaultStyle.cxx
@@ -104,6 +104,24 @@ void XMLGraphicsDefaultStyle::SetDefaults()
Reference< XPropertySet > xDefaults( xFact->createInstance( OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.Defaults") ) ), UNO_QUERY );
if( !xDefaults.is() )
return;
+ // SJ: #i114750#
+ sal_Bool bWordWrapDefault = sal_True; // initializing with correct odf fo:wrap-option default
+ sal_Int32 nUPD( 0 );
+ sal_Int32 nBuild( 0 );
+ const bool bBuildIdFound = GetImport().getBuildIds( nUPD, nBuild );
+ if ( bBuildIdFound && (
+ ((nUPD >= 600) && (nUPD < 700))
+ ||
+ ((nUPD == 300) && (nBuild <= 9535))
+ ||
+ ((nUPD > 300) && (nUPD <= 330))
+ ) )
+ bWordWrapDefault = sal_False;
+
+ const OUString sTextWordWrap( RTL_CONSTASCII_USTRINGPARAM( "TextWordWrap" ) );
+ Reference< XPropertySetInfo > xInfo( xDefaults->getPropertySetInfo() );
+ if ( xInfo->hasPropertyByName( sTextWordWrap ) )
+ xDefaults->setPropertyValue( sTextWordWrap, Any( bWordWrapDefault ) );
FillPropertySet( xDefaults );
}
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
index 82285ba30d..b4ac0d4d75 100644
--- a/xmloff/source/draw/ximpshap.cxx
+++ b/xmloff/source/draw/ximpshap.cxx
@@ -1926,7 +1926,35 @@ void SdXMLConnectorShapeContext::StartElement(const uno::Reference< xml::sax::XA
SetLayer();
if ( maPath.hasValue() )
- xProps->setPropertyValue( OUString(RTL_CONSTASCII_USTRINGPARAM("PolyPolygonBezier") ), maPath );
+ {
+ // --> OD #i115492#
+ // Ignore svg:d attribute for text documents created by OpenOffice.org
+ // versions before OOo 3.3, because these OOo versions are storing
+ // svg:d values not using the correct unit.
+ bool bApplySVGD( true );
+ if ( uno::Reference< text::XTextDocument >(GetImport().GetModel(), uno::UNO_QUERY).is() )
+ {
+ sal_Int32 nUPD( 0 );
+ sal_Int32 nBuild( 0 );
+ const bool bBuildIdFound = GetImport().getBuildIds( nUPD, nBuild );
+ if ( GetImport().IsTextDocInOOoFileFormat() ||
+ ( bBuildIdFound &&
+ ( ( nUPD == 641 ) || ( nUPD == 645 ) || // prior OOo 2.0
+ ( nUPD == 680 ) || // OOo 2.x
+ ( nUPD == 300 ) || // OOo 3.0 - OOo 3.0.1
+ ( nUPD == 310 ) || // OOo 3.1 - OOo 3.1.1
+ ( nUPD == 320 ) ) ) ) // OOo 3.2 - OOo 3.2.1
+ {
+ bApplySVGD = false;
+ }
+ }
+
+ if ( bApplySVGD )
+ {
+ xProps->setPropertyValue( OUString(RTL_CONSTASCII_USTRINGPARAM("PolyPolygonBezier") ), maPath );
+ }
+ // <--
+ }
SdXMLShapeContext::StartElement(xAttrList);
}
diff --git a/xmloff/source/forms/form_handler_factory.hxx b/xmloff/source/forms/form_handler_factory.hxx
index 62bf94f74a..62bf94f74a 100644..100755
--- a/xmloff/source/forms/form_handler_factory.hxx
+++ b/xmloff/source/forms/form_handler_factory.hxx
diff --git a/xmloff/source/forms/handler/form_handler_factory.cxx b/xmloff/source/forms/handler/form_handler_factory.cxx
index ccf829d420..ccf829d420 100644..100755
--- a/xmloff/source/forms/handler/form_handler_factory.cxx
+++ b/xmloff/source/forms/handler/form_handler_factory.cxx
diff --git a/xmloff/source/forms/handler/makefile.mk b/xmloff/source/forms/handler/makefile.mk
index 574537ffd4..574537ffd4 100644..100755
--- a/xmloff/source/forms/handler/makefile.mk
+++ b/xmloff/source/forms/handler/makefile.mk
diff --git a/xmloff/source/forms/handler/property_handler_base.cxx b/xmloff/source/forms/handler/property_handler_base.cxx
index d599e0e259..d599e0e259 100644..100755
--- a/xmloff/source/forms/handler/property_handler_base.cxx
+++ b/xmloff/source/forms/handler/property_handler_base.cxx
diff --git a/xmloff/source/forms/handler/property_handler_base.hxx b/xmloff/source/forms/handler/property_handler_base.hxx
index 10adceaa52..10adceaa52 100644..100755
--- a/xmloff/source/forms/handler/property_handler_base.hxx
+++ b/xmloff/source/forms/handler/property_handler_base.hxx
diff --git a/xmloff/source/forms/handler/vcl_date_handler.cxx b/xmloff/source/forms/handler/vcl_date_handler.cxx
index a8404ed04e..a8404ed04e 100644..100755
--- a/xmloff/source/forms/handler/vcl_date_handler.cxx
+++ b/xmloff/source/forms/handler/vcl_date_handler.cxx
diff --git a/xmloff/source/forms/handler/vcl_date_handler.hxx b/xmloff/source/forms/handler/vcl_date_handler.hxx
index 44a7f7395c..44a7f7395c 100644..100755
--- a/xmloff/source/forms/handler/vcl_date_handler.hxx
+++ b/xmloff/source/forms/handler/vcl_date_handler.hxx
diff --git a/xmloff/source/forms/handler/vcl_time_handler.cxx b/xmloff/source/forms/handler/vcl_time_handler.cxx
index 98ea739d04..98ea739d04 100644..100755
--- a/xmloff/source/forms/handler/vcl_time_handler.cxx
+++ b/xmloff/source/forms/handler/vcl_time_handler.cxx
diff --git a/xmloff/source/forms/handler/vcl_time_handler.hxx b/xmloff/source/forms/handler/vcl_time_handler.hxx
index 7ed6f0aa57..7ed6f0aa57 100644..100755
--- a/xmloff/source/forms/handler/vcl_time_handler.hxx
+++ b/xmloff/source/forms/handler/vcl_time_handler.hxx
diff --git a/xmloff/source/forms/property_description.hxx b/xmloff/source/forms/property_description.hxx
index 8e9aa9cb61..8e9aa9cb61 100644..100755
--- a/xmloff/source/forms/property_description.hxx
+++ b/xmloff/source/forms/property_description.hxx
diff --git a/xmloff/source/forms/property_group.hxx b/xmloff/source/forms/property_group.hxx
index bca354f14e..bca354f14e 100644..100755
--- a/xmloff/source/forms/property_group.hxx
+++ b/xmloff/source/forms/property_group.hxx
diff --git a/xmloff/source/forms/property_handler.hxx b/xmloff/source/forms/property_handler.hxx
index 247b4f17f7..247b4f17f7 100644..100755
--- a/xmloff/source/forms/property_handler.hxx
+++ b/xmloff/source/forms/property_handler.hxx
diff --git a/xmloff/source/forms/property_ids.hxx b/xmloff/source/forms/property_ids.hxx
index 31004f2d9f..31004f2d9f 100644..100755
--- a/xmloff/source/forms/property_ids.hxx
+++ b/xmloff/source/forms/property_ids.hxx
diff --git a/xmloff/source/forms/property_meta_data.cxx b/xmloff/source/forms/property_meta_data.cxx
index 7f058d14b9..7f058d14b9 100644..100755
--- a/xmloff/source/forms/property_meta_data.cxx
+++ b/xmloff/source/forms/property_meta_data.cxx
diff --git a/xmloff/source/forms/property_meta_data.hxx b/xmloff/source/forms/property_meta_data.hxx
index f246a7bfd7..f246a7bfd7 100644..100755
--- a/xmloff/source/forms/property_meta_data.hxx
+++ b/xmloff/source/forms/property_meta_data.hxx
diff --git a/xmloff/source/text/XMLTextListAutoStylePool.cxx b/xmloff/source/text/XMLTextListAutoStylePool.cxx
index c99f9111a6..ff46d49c3a 100644
--- a/xmloff/source/text/XMLTextListAutoStylePool.cxx
+++ b/xmloff/source/text/XMLTextListAutoStylePool.cxx
@@ -185,7 +185,15 @@ XMLTextListAutoStylePool::XMLTextListAutoStylePool( SvXMLExport& rExp ) :
XMLTextListAutoStylePool::~XMLTextListAutoStylePool()
{
+ // The XMLTextListAutoStylePoolEntry_Impl object in the pool need delete explicitly in dtor.
+ ULONG nCount = pPool->Count();
+ while ( nCount-- )
+ delete pPool->Remove(nCount);
delete pPool;
+
+ nCount = pNames->Count();
+ while ( nCount-- )
+ delete pNames->Remove(nCount);
delete pNames;
}