diff options
-rw-r--r-- | filter/source/config/fragments/filters/chart8.xcu | 2 | ||||
-rw-r--r-- | filter/source/config/tools/merge/FCFGMerge.cfg | 125 | ||||
-rw-r--r-- | filter/source/graphicfilter/eps/eps.cxx | 12 | ||||
-rw-r--r-- | filter/source/msfilter/msdffimp.cxx | 15 | ||||
-rw-r--r-- | filter/source/msfilter/svdfppt.cxx | 23 | ||||
-rw-r--r-- | oox/prj/build.lst | 2 | ||||
-rw-r--r-- | unoxml/source/dom/node.cxx | 3 | ||||
-rw-r--r-- | writerfilter/inc/resourcemodel/TableManager.hxx | 2 |
8 files changed, 173 insertions, 11 deletions
diff --git a/filter/source/config/fragments/filters/chart8.xcu b/filter/source/config/fragments/filters/chart8.xcu index c3700acfeb65..e0f3036b1f28 100644 --- a/filter/source/config/fragments/filters/chart8.xcu +++ b/filter/source/config/fragments/filters/chart8.xcu @@ -1,5 +1,5 @@ <node oor:name="chart8" oor:op="replace"> - <prop oor:name="Flags"><value>IMPORT EXPORT OWN DEFAULT NOTINFILEDIALOG NOTINCHOOSER ENCRYPTION</value></prop> + <prop oor:name="Flags"><value>IMPORT EXPORT OWN DEFAULT NOTINFILEDIALOG NOTINCHOOSER PREFERRED ENCRYPTION</value></prop> <prop oor:name="UIComponent"/> <prop oor:name="FilterService"><value>com.sun.star.comp.chart2.XMLFilter</value></prop> <prop oor:name="UserData"><value>XML</value></prop> diff --git a/filter/source/config/tools/merge/FCFGMerge.cfg b/filter/source/config/tools/merge/FCFGMerge.cfg new file mode 100644 index 000000000000..7e71e9c12309 --- /dev/null +++ b/filter/source/config/tools/merge/FCFGMerge.cfg @@ -0,0 +1,125 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2008 by Sun Microsystems, Inc. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# $RCSfile: FCFGMerge.cfg,v $ +# +# $Revision: 1.5 $ +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +#************************************************ +# Specify the verbose mode of this tool. +# 1 = show errors only +# 2 = show errors/warnings (default) +# 3 = show errors/warnings and some generic infos +# 4 = show anything (including detailed infos) +# +# [OPTIONAL] +#************************************************ + +loglevel = 2 + +#************************************************ +# This extension is used for all XML files. It doesnt +# matter if its used for reading fragments or writing +# XML packages. +# Must be given without any additional signes like "." +# or "*."! +# +# [REQUIRED] +#************************************************ + +extension_xcu=xcu + +#************************************************ +# This extension is used for all Package files. It doesnt +# matter if its used for reading such files or writing +# it. +# Must be given without any additional signes like "." +# or "*."! +# +# [REQUIRED] +#************************************************ + +extension_pkg=pkg + +#************************************************ +# These values are used to generate a correct XML +# header. +# Note: The property "xmlpackage" must be specified +# via command line. There exists more then one +# possible value. +# +# [REQUIRED] +#************************************************ + +xmlversion = 1.0 +xmlencoding = UTF-8 +xmlpath = org.openoffice.TypeDetection +#xmlpackage = + +#************************************************ +# These values are used to name the configuration +# sets inside the generated XCM file for different +# item groups like e.g. types, filters etcpp. +# +# [REQUIRED] +#************************************************ + +setname_types = Types +setname_filters = Filters +setname_frameloaders = FrameLoaders +setname_contenthandlers = ContentHandlers + +subdir_types = types +subdir_filters = filters +subdir_frameloaders = frameloaders +subdir_contenthandlers = contenthandlers + +#************************************************ +# This delimiter is used to split every +# item list of the package configuration files +# (which are temp. created by the make proccess) +# into its tokens. +# +# [REQUIRED] +#************************************************ +delimiter=, + +#************************************************ +# Enable/disable removing of leading/trailing withespaces +# during splitting stringlists. +# +# [REQUIRED] +#************************************************ +trim=true + +#************************************************ +# Enable/disable removing of leading/trailing "-signs +# during splitting stringlists. +# +# [REQUIRED] +#************************************************ +decode=false diff --git a/filter/source/graphicfilter/eps/eps.cxx b/filter/source/graphicfilter/eps/eps.cxx index b277f7000b9b..a3eefebeda60 100644 --- a/filter/source/graphicfilter/eps/eps.cxx +++ b/filter/source/graphicfilter/eps/eps.cxx @@ -296,7 +296,11 @@ sal_Bool PSWriter::WritePS( const Graphic& rGraphic, SvStream& rTargetStream, Fi // default values for the dialog options mnLevel = 2; mbGrayScale = sal_False; +#ifdef UNX // don't compress by default on unix as ghostscript is unable to read LZW compressed eps + mbCompression = sal_False; +#else mbCompression = sal_True; +#endif mnTextMode = 0; // default0 : export glyph outlines // try to get the dialog selection @@ -313,12 +317,20 @@ sal_Bool PSWriter::WritePS( const Graphic& rGraphic, SvStream& rTargetStream, Fi String aVersionStr( RTL_CONSTASCII_USTRINGPARAM( "Version" ) ); String aColorStr( RTL_CONSTASCII_USTRINGPARAM( "ColorFormat" ) ); String aComprStr( RTL_CONSTASCII_USTRINGPARAM( "CompressionMode" ) ); +#ifdef UNX // don't put binary tiff preview ahead of postscript code by default on unix as ghostscript is unable to read it + mnPreview = pFilterConfigItem->ReadInt32( aPreviewStr, 0 ); +#else mnPreview = pFilterConfigItem->ReadInt32( aPreviewStr, 1 ); +#endif mnLevel = pFilterConfigItem->ReadInt32( aVersionStr, 2 ); if ( mnLevel != 1 ) mnLevel = 2; mbGrayScale = pFilterConfigItem->ReadInt32( aColorStr, 1 ) == 2; +#ifdef UNX // don't compress by default on unix as ghostscript is unable to read LZW compressed eps + mbCompression = pFilterConfigItem->ReadInt32( aComprStr, 0 ) != 0; +#else mbCompression = pFilterConfigItem->ReadInt32( aComprStr, 1 ) == 1; +#endif String sTextMode( RTL_CONSTASCII_USTRINGPARAM( "TextMode" ) ); mnTextMode = pFilterConfigItem->ReadInt32( sTextMode, 0 ); if ( mnTextMode > 2 ) diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index e230b8a3e144..b40ed4e1ec2e 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -4036,18 +4036,25 @@ bool SvxMSDffManager::ReadObjText(SvStream& rSt, SdrObject* pObj) const sal_uInt16 nLen = (sal_uInt16)aHd.nRecLen; if(nLen) { + sal_uInt32 nMask; sal_uInt16 nVal1, nVal2, nVal3; sal_uInt16 nDefaultTab = 2540; // PPT def: 1 Inch //rOutliner.GetDefTab(); sal_uInt16 nMostrightTab = 0; SfxItemSet aSet(rOutliner.GetEmptyItemSet()); SvxTabStopItem aTabItem(0, 0, SVX_TAB_ADJUST_DEFAULT, EE_PARA_TABS); - rSt >> nVal1; - rSt >> nVal2; + rSt >> nMask; nLen -= 4; + if(nLen && (nMask & 0x0002)) + { + // number of indent levels + rSt >> nVal3; + nLen -= 2; + } + // Allg. TAB verstellt auf Wert in nVal3 - if(nLen && (nVal1 & 0x0001)) + if(nLen && (nMask & 0x0001)) { rSt >> nVal3; nLen -= 2; @@ -4055,7 +4062,7 @@ bool SvxMSDffManager::ReadObjText(SvStream& rSt, SdrObject* pObj) const } // Weitere, frei gesetzte TABs - if(nLen && (nVal1 & 0x0004)) + if(nLen && (nMask & 0x0004)) { rSt >> nVal1; nLen -= 2; diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index 2cc37525ca07..7efdf0f19326 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -4499,6 +4499,10 @@ PPTTextRulerInterpreter::PPTTextRulerInterpreter( sal_uInt32 nFileOfs, SdrPowerP sal_Int16 nTCount; sal_Int32 i; rIn >> mpImplRuler->nFlags; + + // number of indent levels, unused now + if ( mpImplRuler->nFlags & 2 ) + rIn >> nTCount; if ( mpImplRuler->nFlags & 1 ) rIn >> mpImplRuler->nDefaultTab; if ( mpImplRuler->nFlags & 4 ) @@ -4521,6 +4525,17 @@ PPTTextRulerInterpreter::PPTTextRulerInterpreter( sal_uInt32 nFileOfs, SdrPowerP rIn >> mpImplRuler->nTextOfs[ i ]; if ( mpImplRuler->nFlags & ( 256 << i ) ) rIn >> mpImplRuler->nBulletOfs[ i ]; + if( mpImplRuler->nBulletOfs[ i ] > 0x7fff) { + // workaround + // when bullet offset is > 0x7fff, the paragraph should look like + // * first line text + // second line text + // + // we add to bullet para indent 0xffff - bullet offset. it looks like + // best we can do for now + mpImplRuler->nTextOfs[ i ] += 0xffff - mpImplRuler->nBulletOfs[ i ]; + mpImplRuler->nBulletOfs[ i ] = 0; + } } } rIn.Seek( nOldPos ); @@ -4827,7 +4842,7 @@ void PPTStyleTextPropReader::ReadParaProps( SvStream& rIn, SdrPowerPointImport& { rIn >> aSet.mpArry[ PPT_ParaAttr_BulletHeight ]; if ( ! ( ( nMask & ( 1 << PPT_ParaAttr_BuHardHeight ) ) - && ( nBulFlg && ( 1 << PPT_ParaAttr_BuHardHeight ) ) ) ) + && ( nBulFlg & ( 1 << PPT_ParaAttr_BuHardHeight ) ) ) ) aSet.mnAttrSet ^= 0x40; } if ( nMask & 0x0020 ) // buColor @@ -6094,9 +6109,11 @@ void PPTParagraphObj::ApplyTo( SfxItemSet& rSet, boost::optional< sal_Int16 >& } rSet.Put( SdrTextFixedCellHeightItem( sal_True ), SDRATTR_TEXT_USEFIXEDCELLHEIGHT ); SvxLineSpacingItem aItem( 200, EE_PARA_SBL ); - if ( nVal2 <= 0 ) + if ( nVal2 <= 0 ) { aItem.SetLineHeight( (sal_uInt16)( rManager.ScalePoint( -nVal2 ) / 8 ) ); - else + aItem.GetLineSpaceRule() = SVX_LINE_SPACE_FIX; + aItem.GetInterLineSpaceRule() = SVX_INTER_LINE_SPACE_OFF; + } else { sal_uInt8 nPropLineSpace = (sal_uInt8)nVal2; aItem.SetPropLineSpace( nPropLineSpace ); diff --git a/oox/prj/build.lst b/oox/prj/build.lst index a337de62f30f..1724e8e2248a 100644 --- a/oox/prj/build.lst +++ b/oox/prj/build.lst @@ -1,3 +1,3 @@ -oox oox : cppu cppuhelper comphelper filter sal offapi sax basegfx svx xmlscript tools vcl BOOST:boost OPENSSL:openssl LIBXSLT:libxslt NULL +oox oox : cppu cppuhelper comphelper filter sal offapi sax basegfx svx xmlscript tools vcl unotools BOOST:boost OPENSSL:openssl LIBXSLT:libxslt NULL oox oox usr1 - all oox_mkout NULL oox oox\prj nmake - all oox_prj NULL diff --git a/unoxml/source/dom/node.cxx b/unoxml/source/dom/node.cxx index 7ab6336aefdf..b4645bc0b578 100644 --- a/unoxml/source/dom/node.cxx +++ b/unoxml/source/dom/node.cxx @@ -87,8 +87,9 @@ namespace DOM // add node's namespaces to current context for (xmlNsPtr pNs = pNode->nsDef; pNs != 0; pNs = pNs->next) { const xmlChar *pPrefix = pNs->prefix; + // prefix can be NULL when xmlns attribute is empty (xmlns="") OString prefix(reinterpret_cast<const sal_Char*>(pPrefix), - strlen(reinterpret_cast<const char*>(pPrefix))); + pPrefix ? strlen(reinterpret_cast<const char*>(pPrefix)) : 0); const xmlChar *pHref = pNs->href; OUString val(reinterpret_cast<const sal_Char*>(pHref), strlen(reinterpret_cast<const char*>(pHref)), diff --git a/writerfilter/inc/resourcemodel/TableManager.hxx b/writerfilter/inc/resourcemodel/TableManager.hxx index c22ea5090a72..a0525d1b45d9 100644 --- a/writerfilter/inc/resourcemodel/TableManager.hxx +++ b/writerfilter/inc/resourcemodel/TableManager.hxx @@ -221,7 +221,7 @@ class TableManager void resetRowProps() { - mpCellProps.reset(); + mpRowProps.reset(); } void setRowProps(PropertiesPointer pProps) |