summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--filter/source/config/fragments/filters/chart8.xcu2
-rw-r--r--filter/source/config/tools/merge/FCFGMerge.cfg125
-rw-r--r--filter/source/graphicfilter/eps/eps.cxx12
-rw-r--r--filter/source/msfilter/msdffimp.cxx15
-rw-r--r--filter/source/msfilter/svdfppt.cxx23
-rw-r--r--oox/prj/build.lst2
-rw-r--r--unoxml/source/dom/node.cxx3
-rw-r--r--writerfilter/inc/resourcemodel/TableManager.hxx2
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)