[Libreoffice-commits] .: 33 commits - filter/source oox/prj unoxml/source writerfilter/inc
Jan Holesovsky
kendy at kemper.freedesktop.org
Tue May 31 02:02:40 PDT 2011
filter/source/config/fragments/filters/chart8.xcu | 2
filter/source/config/tools/merge/FCFGMerge.cfg | 125 ++++++++++++++++++++++
filter/source/graphicfilter/eps/eps.cxx | 12 ++
filter/source/msfilter/msdffimp.cxx | 15 +-
filter/source/msfilter/svdfppt.cxx | 23 +++-
oox/prj/build.lst | 2
unoxml/source/dom/node.cxx | 3
writerfilter/inc/resourcemodel/TableManager.hxx | 2
8 files changed, 173 insertions(+), 11 deletions(-)
New commits:
commit 6911b8b202f55aa9d7ed0d8cb335bf23eae8304a
Merge: ed18f06... 44f87ea...
Author: Jan Holesovsky <kendy at suse.cz>
Date: Tue May 31 10:46:36 2011 +0200
Merge branch 'master' of git://anongit.freedesktop.org/libreoffice/filters
commit ed18f06f9dafbb0982e62e47476d5d6f71ccda9f
Merge: 6735b52... 399b0a7...
Author: Jan Holesovsky <kendy at suse.cz>
Date: Tue May 31 10:45:45 2011 +0200
Merge commit 'libreoffice-3.4.0.2'
Conflicts:
filter/source/graphicfilter/eps/eps.cxx
oox/source/export/shapes.cxx
oox/source/xls/workbookhelper.cxx
diff --cc filter/source/graphicfilter/eps/eps.cxx
index 4370a56,b2d2ccc..d587cb0
--- a/filter/source/graphicfilter/eps/eps.cxx
+++ b/filter/source/graphicfilter/eps/eps.cxx
@@@ -311,9 -314,13 +315,13 @@@ sal_Bool PSWriter::WritePS( const Graph
{
String aPreviewStr( RTL_CONSTASCII_USTRINGPARAM( "Preview" ) );
String aVersionStr( RTL_CONSTASCII_USTRINGPARAM( "Version" ) );
- String aColorStr( RTL_CONSTASCII_USTRINGPARAM( "ColorFormat" ) );
+ 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;
diff --cc oox/prj/build.lst
index a337de6,07c4e0e..1724e8e
--- a/oox/prj/build.lst
+++ b/oox/prj/build.lst
@@@ -1,3 -1,19 +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 get - all oox_prj NULL
-oox oox\source\token nmake - all oox_token NULL
-oox oox\source\helper nmake - all oox_helper oox_token NULL
-oox oox\source\core nmake - all oox_core oox_token NULL
-oox oox\source\ole nmake - all oox_ole oox_token NULL
-oox oox\source\docprop nmake - all oox_docprop oox_token NULL
-oox oox\source\drawingml nmake - all oox_drawingml oox_token NULL
-oox oox\source\drawingml\diagram nmake - all oox_diagram oox_token NULL
-oox oox\source\drawingml\chart nmake - all oox_chart oox_token NULL
-oox oox\source\drawingml\table nmake - all oox_table oox_token NULL
-oox oox\source\ppt nmake - all oox_ppt oox_token NULL
-oox oox\source\vml nmake - all oox_vml oox_token NULL
-oox oox\source\xls nmake - all oox_xls oox_token NULL
-oox oox\source\dump nmake - all oox_dump oox_token NULL
-oox oox\source\shape nmake - all oox_shape oox_token NULL
-oox oox\source\export nmake - all oox_export oox_token NULL
-oox oox\util nmake - all oox_util oox_token oox_helper oox_core oox_ole oox_vml oox_drawingml oox_diagram oox_chart oox_table oox_ppt oox_xls oox_dump oox_export oox_shape oox_docprop NULL
+oox oox\prj nmake - all oox_prj NULL
commit 399b0a777631a395147e7ba897490828e6053cee
Author: Petr Mladek <pmladek at suse.cz>
Date: Tue May 24 19:29:12 2011 +0200
Version 3.4.0.2, tag libreoffice-3.4.0.2 (3.4.0-rc2)
commit 2a1a6bbd6f51ab28e8faea82d76d91f9cab6fb23
Author: Michael Meeks <michael.meeks at novell.com>
Date: Thu May 19 16:42:44 2011 +0100
don't de-reference null pointer - fix crash with certain PPTX files
Signed-off-by: Jan Holesovsky <kendy at suse.cz>
Signed-off-by: Cédric Bosdonnat <cedric.bosdonnat.ooo at free.fr>
diff --git a/oox/source/ppt/presentationfragmenthandler.cxx b/oox/source/ppt/presentationfragmenthandler.cxx
index c18fd4a..cbae082 100644
--- a/oox/source/ppt/presentationfragmenthandler.cxx
+++ b/oox/source/ppt/presentationfragmenthandler.cxx
@@ -246,11 +246,13 @@ void PresentationFragmentHandler::endDocument() throw (SAXException, RuntimeExce
}
// importing slide page
- pSlidePersistPtr->setMasterPersist( pMasterPersistPtr );
- pSlidePersistPtr->setTheme( pMasterPersistPtr->getTheme() );
- Reference< drawing::XMasterPageTarget > xMasterPageTarget( pSlidePersistPtr->getPage(), UNO_QUERY );
- if( xMasterPageTarget.is() )
- xMasterPageTarget->setMasterPage( pMasterPersistPtr->getPage() );
+ if (pMasterPersistPtr.get()) {
+ pSlidePersistPtr->setMasterPersist( pMasterPersistPtr );
+ pSlidePersistPtr->setTheme( pMasterPersistPtr->getTheme() );
+ Reference< drawing::XMasterPageTarget > xMasterPageTarget( pSlidePersistPtr->getPage(), UNO_QUERY );
+ if( xMasterPageTarget.is() )
+ xMasterPageTarget->setMasterPage( pMasterPersistPtr->getPage() );
+ }
rFilter.getDrawPages().push_back( pSlidePersistPtr );
rFilter.setActualSlidePersist( pSlidePersistPtr );
importSlide( xSlideFragmentHandler, pSlidePersistPtr );
commit de7bff3c8ff76f29923615a66f429968b8d50c3c
Author: Radek Doulik <rodo at novell.com>
Date: Wed Apr 27 11:52:40 2011 +0200
fix config for pptx filter - thanks to Bubli
Signed-off-by: Katarina Machalkova <kmachalkova at suse.cz>
Signed-off-by: Michael Meeks <michael.meeks at novell.com>
Signed-off-by: Fridrich Strba <fstrba at novell.com>
diff --git a/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML_AutoPlay.xcu b/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML_AutoPlay.xcu
index 7a2e17f..ecb6b5a 100644
--- a/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML_AutoPlay.xcu
+++ b/filter/source/config/fragments/filters/impress_MS_PowerPoint_2007_XML_AutoPlay.xcu
@@ -1,7 +1,7 @@
<node oor:name="Impress MS PowerPoint 2007 XML AutoPlay" oor:op="replace">
<prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER PREFERRED STARTPRESENTATION</value></prop>
<prop oor:name="UIComponent"/>
- <prop oor:name="FilterService"><value>com.sun.star.comp.Impress.oox.PowerPointImport</value></prop>
+ <prop oor:name="FilterService"><value>com.sun.star.comp.oox.ppt.PowerPointImport</value></prop>
<prop oor:name="UserData"/>
<prop oor:name="FileFormatVersion"/>
<prop oor:name="Type"><value>MS PowerPoint 2007 XML AutoPlay</value></prop>
diff --git a/filter/source/config/fragments/filters/impress_OOXML_AutoPlay.xcu b/filter/source/config/fragments/filters/impress_OOXML_AutoPlay.xcu
index 052c613..9c83f07 100644
--- a/filter/source/config/fragments/filters/impress_OOXML_AutoPlay.xcu
+++ b/filter/source/config/fragments/filters/impress_OOXML_AutoPlay.xcu
@@ -1,7 +1,7 @@
<node oor:name="Impress Office Open XML AutoPlay" oor:op="replace">
<prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER PREFERRED STARTPRESENTATION</value></prop>
<prop oor:name="UIComponent"/>
- <prop oor:name="FilterService"><value>com.sun.star.comp.Impress.oox.PowerPointImport</value></prop>
+ <prop oor:name="FilterService"><value>com.sun.star.comp.oox.ppt.PowerPointImport</value></prop>
<prop oor:name="UserData"/>
<prop oor:name="UIName"><value xml:lang="x-default">Office Open XML Presentation AutoPlay</value></prop>
<prop oor:name="FileFormatVersion"/>
diff --git a/filter/source/config/fragments/filters/impress_OOXML_Template.xcu b/filter/source/config/fragments/filters/impress_OOXML_Template.xcu
index e9febe1..10f9e43 100644
--- a/filter/source/config/fragments/filters/impress_OOXML_Template.xcu
+++ b/filter/source/config/fragments/filters/impress_OOXML_Template.xcu
@@ -1,7 +1,7 @@
<node oor:name="Impress Office Open XML Template" oor:op="replace">
<prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER TEMPLATE TEMPLATEPATH PREFERRED</value></prop>
<prop oor:name="UIComponent"/>
- <prop oor:name="FilterService"><value>com.sun.star.comp.Impress.oox.PowerPointImport</value></prop>
+ <prop oor:name="FilterService"><value>com.sun.star.comp.oox.ppt.PowerPointImport</value></prop>
<prop oor:name="UserData"><value>OOXML</value></prop>
<prop oor:name="UIName"><value xml:lang="x-default">Office Open XML Presentation Template</value></prop>
<!-- ISO/IEC 29500:2008 -->
commit 725686309e5f595e3f3bcff6cde4ede938f41f6b
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed Apr 27 11:11:48 2011 +0200
Make export to .pptx 2010 work again
(use correct FilterService string)
Signed-off-by: Radek Doulik <rodo at novell.com>
Signed-off-by: Michael Meeks <michael.meeks at novell.com>
Signed-off-by: Fridrich Strba <fstrba at novell.com>
diff --git a/filter/source/config/fragments/filters/impress_OOXML.xcu b/filter/source/config/fragments/filters/impress_OOXML.xcu
index d1a5adb..17d4e18 100644
--- a/filter/source/config/fragments/filters/impress_OOXML.xcu
+++ b/filter/source/config/fragments/filters/impress_OOXML.xcu
@@ -1,7 +1,7 @@
<node oor:name="Impress Office Open XML" oor:op="replace">
<prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER PREFERRED</value></prop>
<prop oor:name="UIComponent"/>
- <prop oor:name="FilterService"><value>com.sun.star.comp.Impress.oox.PowerPointImport</value></prop>
+ <prop oor:name="FilterService"><value>com.sun.star.comp.oox.ppt.PowerPointImport</value></prop>
<prop oor:name="UserData"><value>OOXML</value></prop>
<prop oor:name="UIName"><value xml:lang="x-default">Office Open XML Presentation</value></prop>
<!-- ISO/IEC 29500:2008 -->
commit e9a426820a3514f33855dd8de488a58648494161
Author: Petr Mladek <pmladek at suse.cz>
Date: Tue May 17 20:49:45 2011 +0200
Branch libreoffice-3-4-0
This is 'libreoffice-3-4-0' - the stable branch for the 3.4.0 release.
Only very safe changes, reviewed by three people are allowed.
If you want to commit more complicated fix for the next 3.4.x release,
please use the 'libreoffice-3-4' branch.
If you want to build something cool, unstable, and risky, use master.
commit a32dfb774b5bd7846aab47542c3421c6b701c22c
Author: Petr Mladek <pmladek at suse.cz>
Date: Tue May 17 19:55:32 2011 +0200
Version 3.4.0.1, tag libreoffice-3.4.0.1 (3.4.0-rc1)
commit fd72ecd91f5c90a8980bdf206a181dc8dcbd8a38
Author: Kohei Yoshida <kyoshida at novell.com>
Date: Tue May 17 12:31:48 2011 -0400
fdo#36339: Promote the default chart8 filter as the preferred filter.
This ensures that the default chart8 filter gets picked over the one
from Oracle Report Builder.
Signed-off-by: Michael Meeks <michael.meeks at novell.com>
diff --git a/filter/source/config/fragments/filters/chart8.xcu b/filter/source/config/fragments/filters/chart8.xcu
index c3700ac..e0f3036 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>
commit 5d71b5082bdf17abbbb84bd02750a83741579f9a
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date: Mon May 16 01:40:30 2011 +0200
fdo#35668: do not manually free parser context
* reenable complex.unoxml.DOMTest testXDocumentBuilder()
* do not manually free parser context, there is a shared_ptr for that
diff --git a/unoxml/qa/complex/unoxml/DOMTest.java b/unoxml/qa/complex/unoxml/DOMTest.java
index ba276e0..d4b9a5f 100644
--- a/unoxml/qa/complex/unoxml/DOMTest.java
+++ b/unoxml/qa/complex/unoxml/DOMTest.java
@@ -98,8 +98,7 @@ public class DOMTest
//FIXME TODO
}
- // fd#35668 disabled, this crashes LibreOffice
- //@Test
+ @Test
public void testXDocumentBuilder() throws Exception
{
XDocumentBuilder xBuilder =
diff --git a/unoxml/source/dom/documentbuilder.cxx b/unoxml/source/dom/documentbuilder.cxx
index f950964..0f24039 100644
--- a/unoxml/source/dom/documentbuilder.cxx
+++ b/unoxml/source/dom/documentbuilder.cxx
@@ -316,7 +316,6 @@ namespace DOM
saxex.Message = make_error_message(ctxt);
saxex.LineNumber = static_cast<sal_Int32>(ctxt->lastError.line);
saxex.ColumnNumber = static_cast<sal_Int32>(ctxt->lastError.int2);
- xmlFreeParserCtxt(ctxt);
throw saxex;
}
commit 29eece847b948d25abde0b602f28378d74d567fb
Author: LuboÅ¡ LuÅák <l.lunak at suse.cz>
Date: Fri May 13 14:24:06 2011 +0200
avoid deleting before a use (bnc#693200)
The call to clearShapes() cleared the list and deleted items, which
was what pShape was pointing to -> crash.
ACK by Cedric.
diff --git a/oox/source/shape/ShapeContextHandler.cxx b/oox/source/shape/ShapeContextHandler.cxx
index 9737c45..b962ca9 100644
--- a/oox/source/shape/ShapeContextHandler.cxx
+++ b/oox/source/shape/ShapeContextHandler.cxx
@@ -246,8 +246,8 @@ ShapeContextHandler::getShape() throw (uno::RuntimeException)
mpDrawing->finalizeFragmentImport();
if( const ::oox::vml::ShapeBase* pShape = mpDrawing->getShapes().getFirstShape() )
{
- mpDrawing->getShapes( ).clearShapes( );
xResult = pShape->convertAndInsert( xShapes );
+ mpDrawing->getShapes( ).clearShapes( );
}
}
else if (mpShape.get() != NULL)
commit dcc3d214760b5c448d75f53f286a1e63c1914dc2
Author: Petr Mladek <pmladek at suse.cz>
Date: Tue May 10 20:01:39 2011 +0200
Version 3.3.99.5, tag libreoffice-3.3.99.5 (3.4.0-beta5)
commit be431d95c9f72666276b4e09cc15d4f79fee01b9
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date: Tue May 10 16:30:31 2011 +0200
And finally, binfilter builds on windows again
diff --git a/binfilter/bf_so3/source/copied/makefile.mk b/binfilter/bf_so3/source/copied/makefile.mk
index aedf6c2..4de9015 100644
--- a/binfilter/bf_so3/source/copied/makefile.mk
+++ b/binfilter/bf_so3/source/copied/makefile.mk
@@ -32,7 +32,6 @@ TARGET := so3_copied
ENABLE_EXCEPTIONS := TRUE
.INCLUDE: settings.mk
-.INCLUDE : $(SUBPRJ)$/util$/makefile.pmk
SLOFILES = $(SLO)$/staticbaseurl.obj
commit 66c8c9a1288442872d8fc7c5138318af54cf0f78
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date: Tue May 10 16:17:26 2011 +0200
Some more makefile.pmk inclusions
diff --git a/binfilter/bf_so3/source/copied/makefile.mk b/binfilter/bf_so3/source/copied/makefile.mk
index 4de9015..aedf6c2 100644
--- a/binfilter/bf_so3/source/copied/makefile.mk
+++ b/binfilter/bf_so3/source/copied/makefile.mk
@@ -32,6 +32,7 @@ TARGET := so3_copied
ENABLE_EXCEPTIONS := TRUE
.INCLUDE: settings.mk
+.INCLUDE : $(SUBPRJ)$/util$/makefile.pmk
SLOFILES = $(SLO)$/staticbaseurl.obj
diff --git a/binfilter/bf_so3/source/misc/makefile.mk b/binfilter/bf_so3/source/misc/makefile.mk
index fd2364a..90d2e5f 100644
--- a/binfilter/bf_so3/source/misc/makefile.mk
+++ b/binfilter/bf_so3/source/misc/makefile.mk
@@ -35,6 +35,7 @@ TARGET=so3_misc
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
+.INCLUDE : $(SUBPRJ)$/util$/makefile.pmk
# --- Files --------------------------------------------------------
commit d37280c5af0dd32166c2ef6ad576b68c85ad8224
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date: Tue May 10 15:45:30 2011 +0200
Fix missing declaraction of ConvList
diff --git a/binfilter/bf_svtools/source/svdde/ddeimp.hxx b/binfilter/bf_svtools/source/svdde/ddeimp.hxx
index 1462c12..c159b2e 100644
--- a/binfilter/bf_svtools/source/svdde/ddeimp.hxx
+++ b/binfilter/bf_svtools/source/svdde/ddeimp.hxx
@@ -47,6 +47,7 @@
#include <bf_svtools/bf_prewin.h>
#include <ddeml.h>
#include <bf_svtools/bf_postwin.h>
+#include <bf_svtools/svdde.hxx>
#include "ddewrap.hxx"
/*
commit 1f2fc6b2febdefe6863c456045d946ffc4de1980
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date: Tue May 10 15:39:50 2011 +0200
Revert "Remove DECLARE_LIST( ConvList, Conversation* )"
This commit breaks Windows build.
This reverts commit 508c29ec65a35a7177a82a21a19cf41dc2733a62.
diff --git a/binfilter/bf_svtools/source/svdde/ddeimp.hxx b/binfilter/bf_svtools/source/svdde/ddeimp.hxx
index c6cf7d1..1462c12 100644
--- a/binfilter/bf_svtools/source/svdde/ddeimp.hxx
+++ b/binfilter/bf_svtools/source/svdde/ddeimp.hxx
@@ -2,7 +2,7 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
+ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@ -49,6 +49,16 @@
#include <bf_svtools/bf_postwin.h>
#include "ddewrap.hxx"
+/*
+extern "C"
+{
+#define BOOL WIN_BOOL
+#define BYTE WIN_BYTE
+#undef BOOL
+#undef BYTE
+};
+*/
+
#endif
#include <tools/string.hxx>
@@ -63,6 +73,18 @@ class DdeItem;
class DdeTopics;
class DdeItems;
+// ----------------
+// - Conversation -
+// ----------------
+
+struct Conversation
+{
+ HCONV hConv;
+ DdeTopic* pTopic;
+};
+
+DECLARE_LIST( ConvList, Conversation* );
+
// ---------------
// - DdeInternal -
// ---------------
commit 31934433af3d720d01cd9618941cbfa717c9dba0
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date: Tue May 10 15:36:58 2011 +0200
Revert "Committing some more DECLARE_LIST removal that compiles on linux"
DECLARE_LIST still works so revert this changes and try to make binfilter
first build and then refactor.
This reverts commit 6406e1187f5370fd40ebb384545bbff282a8da13.
diff --git a/binfilter/bf_svtools/source/svdde/ddeimp.hxx b/binfilter/bf_svtools/source/svdde/ddeimp.hxx
index 787fed7..c6cf7d1 100644
--- a/binfilter/bf_svtools/source/svdde/ddeimp.hxx
+++ b/binfilter/bf_svtools/source/svdde/ddeimp.hxx
@@ -63,18 +63,6 @@ class DdeItem;
class DdeTopics;
class DdeItems;
-// ----------------
-// - Conversation -
-// ----------------
-
-struct Conversation
-{
- HCONV hConv;
- DdeTopic* pTopic;
-};
-
-typedef ::std::vector< Conversation* > ConvList;
-
// ---------------
// - DdeInternal -
// ---------------
diff --git a/binfilter/bf_svtools/source/svdde/svt_ddesvr.cxx b/binfilter/bf_svtools/source/svdde/svt_ddesvr.cxx
index 53a61e2..8d917ef 100644
--- a/binfilter/bf_svtools/source/svdde/svt_ddesvr.cxx
+++ b/binfilter/bf_svtools/source/svdde/svt_ddesvr.cxx
@@ -208,9 +208,9 @@ HDDEDATA CALLBACK _export DdeInternal::SvrCallback(
for ( pService = rAll.First(); pService; pService = rAll.Next() )
{
- for ( size_t i = 0, n = pService->pConv->size(); i < n; ++i )
+ for( pC = pService->pConv->First(); pC;
+ pC = pService->pConv->Next() )
{
- pC = (*pService->pConv)[ i ];
if ( pC->hConv == hConv )
goto found;
}
diff --git a/binfilter/inc/bf_svtools/svdde.hxx b/binfilter/inc/bf_svtools/svdde.hxx
index 6916424..5df2a44 100644
--- a/binfilter/inc/bf_svtools/svdde.hxx
+++ b/binfilter/inc/bf_svtools/svdde.hxx
@@ -38,7 +38,6 @@
#include <tools/string.hxx>
#include <tools/list.hxx>
#include <tools/link.hxx>
-#include <vector>
namespace binfilter
{
@@ -51,23 +50,22 @@ class DdeLink;
class DdeRequest;
class DdeWarmLink;
class DdeHotLink;
+class ConvList;
struct DdeDataImp;
struct DdeImp;
-typedef ::std::vector< DdeConnection* > DdeConnections;
-typedef ::std::vector< DdeTransaction* > DdeTransactions;
-typedef ::std::vector< long > DdeFormats;
-
+DECLARE_LIST( DdeConnections, DdeConnection* )
+DECLARE_LIST( DdeTransactions, DdeTransaction* )
+DECLARE_LIST( DdeFormats, long )
#ifdef WNT
class DdeService;
class DdeItem;
class DdeItemImp;
class DdeTopic;
-
-typedef ::std::vector< DdeService* > DdeServices;
-typedef ::std::vector< DdeTopic* > DdeTopics;
-typedef ::std::vector< DdeItem* > DdeItems;
+DECLARE_LIST( DdeServices, DdeService* )
+DECLARE_LIST( DdeTopics, DdeTopic* )
+DECLARE_LIST( DdeItems, DdeItem* )
#endif
commit 026701da47668c4f5c244cec7ed16898c8d2a600
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date: Tue May 10 14:43:45 2011 +0200
Committing some more DECLARE_LIST removal that compiles on linux
diff --git a/binfilter/bf_svtools/source/svdde/ddeimp.hxx b/binfilter/bf_svtools/source/svdde/ddeimp.hxx
index c6cf7d1..787fed7 100644
--- a/binfilter/bf_svtools/source/svdde/ddeimp.hxx
+++ b/binfilter/bf_svtools/source/svdde/ddeimp.hxx
@@ -63,6 +63,18 @@ class DdeItem;
class DdeTopics;
class DdeItems;
+// ----------------
+// - Conversation -
+// ----------------
+
+struct Conversation
+{
+ HCONV hConv;
+ DdeTopic* pTopic;
+};
+
+typedef ::std::vector< Conversation* > ConvList;
+
// ---------------
// - DdeInternal -
// ---------------
diff --git a/binfilter/bf_svtools/source/svdde/svt_ddesvr.cxx b/binfilter/bf_svtools/source/svdde/svt_ddesvr.cxx
index 8d917ef..53a61e2 100644
--- a/binfilter/bf_svtools/source/svdde/svt_ddesvr.cxx
+++ b/binfilter/bf_svtools/source/svdde/svt_ddesvr.cxx
@@ -208,9 +208,9 @@ HDDEDATA CALLBACK _export DdeInternal::SvrCallback(
for ( pService = rAll.First(); pService; pService = rAll.Next() )
{
- for( pC = pService->pConv->First(); pC;
- pC = pService->pConv->Next() )
+ for ( size_t i = 0, n = pService->pConv->size(); i < n; ++i )
{
+ pC = (*pService->pConv)[ i ];
if ( pC->hConv == hConv )
goto found;
}
diff --git a/binfilter/inc/bf_svtools/svdde.hxx b/binfilter/inc/bf_svtools/svdde.hxx
index 5df2a44..6916424 100644
--- a/binfilter/inc/bf_svtools/svdde.hxx
+++ b/binfilter/inc/bf_svtools/svdde.hxx
@@ -38,6 +38,7 @@
#include <tools/string.hxx>
#include <tools/list.hxx>
#include <tools/link.hxx>
+#include <vector>
namespace binfilter
{
@@ -50,22 +51,23 @@ class DdeLink;
class DdeRequest;
class DdeWarmLink;
class DdeHotLink;
-class ConvList;
struct DdeDataImp;
struct DdeImp;
-DECLARE_LIST( DdeConnections, DdeConnection* )
-DECLARE_LIST( DdeTransactions, DdeTransaction* )
-DECLARE_LIST( DdeFormats, long )
+typedef ::std::vector< DdeConnection* > DdeConnections;
+typedef ::std::vector< DdeTransaction* > DdeTransactions;
+typedef ::std::vector< long > DdeFormats;
+
#ifdef WNT
class DdeService;
class DdeItem;
class DdeItemImp;
class DdeTopic;
-DECLARE_LIST( DdeServices, DdeService* )
-DECLARE_LIST( DdeTopics, DdeTopic* )
-DECLARE_LIST( DdeItems, DdeItem* )
+
+typedef ::std::vector< DdeService* > DdeServices;
+typedef ::std::vector< DdeTopic* > DdeTopics;
+typedef ::std::vector< DdeItem* > DdeItems;
#endif
commit 125c2b0109b0d4aeb5680fa36a0b341cc683eabd
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date: Tue May 10 13:16:44 2011 +0200
Unbreak binfilter on Windows
diff --git a/binfilter/bf_so3/source/data/makefile.mk b/binfilter/bf_so3/source/data/makefile.mk
index 5f7e051..6139e7b 100644
--- a/binfilter/bf_so3/source/data/makefile.mk
+++ b/binfilter/bf_so3/source/data/makefile.mk
@@ -34,6 +34,7 @@ TARGET=so3_data
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
+.INCLUDE : $(SUBPRJ)$/util$/makefile.pmk
# --- Files --------------------------------------------------------
diff --git a/binfilter/bf_so3/source/dialog/makefile.mk b/binfilter/bf_so3/source/dialog/makefile.mk
index 59f97c6..acafddd 100644
--- a/binfilter/bf_so3/source/dialog/makefile.mk
+++ b/binfilter/bf_so3/source/dialog/makefile.mk
@@ -35,6 +35,7 @@ TARGET=so3_dialog
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
+.INCLUDE : $(SUBPRJ)$/util$/makefile.pmk
# --- Files --------------------------------------------------------
diff --git a/binfilter/bf_so3/source/inplace/makefile.mk b/binfilter/bf_so3/source/inplace/makefile.mk
index ed8bac7..b61242a 100644
--- a/binfilter/bf_so3/source/inplace/makefile.mk
+++ b/binfilter/bf_so3/source/inplace/makefile.mk
@@ -35,6 +35,7 @@ TARGET=so3_inplace
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
+.INCLUDE : $(SUBPRJ)$/util$/makefile.pmk
# --- Files --------------------------------------------------------
diff --git a/binfilter/bf_so3/source/ole/makefile.mk b/binfilter/bf_so3/source/ole/makefile.mk
index aba536b..734e839 100644
--- a/binfilter/bf_so3/source/ole/makefile.mk
+++ b/binfilter/bf_so3/source/ole/makefile.mk
@@ -35,6 +35,7 @@ TARGET=so3_ole
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
+.INCLUDE : $(SUBPRJ)$/util$/makefile.pmk
# --- Files --------------------------------------------------------
diff --git a/binfilter/bf_so3/source/persist/makefile.mk b/binfilter/bf_so3/source/persist/makefile.mk
index be2b963..1fd0fae 100644
--- a/binfilter/bf_so3/source/persist/makefile.mk
+++ b/binfilter/bf_so3/source/persist/makefile.mk
@@ -38,6 +38,7 @@ ENABLE_EXCEPTIONS=TRUE
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
+.INCLUDE : $(SUBPRJ)$/util$/makefile.pmk
.IF "$(NO_DLL)" == "NO_DLL"
SLO=$(OBJ)
diff --git a/binfilter/bf_so3/source/solink/makefile.mk b/binfilter/bf_so3/source/solink/makefile.mk
index 71656cb..8a1350a 100644
--- a/binfilter/bf_so3/source/solink/makefile.mk
+++ b/binfilter/bf_so3/source/solink/makefile.mk
@@ -42,6 +42,7 @@ OPTLINKS=YES
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
+.INCLUDE : $(SUBPRJ)$/util$/makefile.pmk
# --- Files --------------------------------------------------------
diff --git a/binfilter/bf_so3/util/makefile.mk b/binfilter/bf_so3/util/makefile.mk
index fdfa39d..6967dd9 100644
--- a/binfilter/bf_so3/util/makefile.mk
+++ b/binfilter/bf_so3/util/makefile.mk
@@ -37,6 +37,7 @@ USE_LDUMP2=TRUE
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
+.INCLUDE : $(SUBPRJ)$/util$/makefile.pmk
RSCFLAGS+=-p
commit ad9bdba22c39fd7f8e78569a2ba4734dcc9e22a0
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Thu May 5 18:17:52 2011 +0200
make OOXML import use sheet local db data
Signed-off-by: Kohei Yoshida <kyoshida at novell.com>
diff --git a/oox/inc/oox/xls/workbookhelper.hxx b/oox/inc/oox/xls/workbookhelper.hxx
index 9403453..3e2ca49 100644
--- a/oox/inc/oox/xls/workbookhelper.hxx
+++ b/oox/inc/oox/xls/workbookhelper.hxx
@@ -201,6 +201,12 @@ public:
::rtl::OUString& orName,
const ::com::sun::star::table::CellRangeAddress& rRangeAddr ) const;
+ /** Creates and returns an unnamed database range on-the-fly in the Calc document.
+ The range will not be buffered in the global table buffer. */
+ ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XDatabaseRange >
+ createUnnamedDatabaseRangeObject(
+ const ::com::sun::star::table::CellRangeAddress& rRangeAddr ) const;
+
/** Creates and returns a com.sun.star.style.Style object for cells or pages. */
::com::sun::star::uno::Reference< ::com::sun::star::style::XStyle >
createStyleObject(
diff --git a/oox/source/token/properties.txt b/oox/source/token/properties.txt
index f8447b6..693ccb1 100644
--- a/oox/source/token/properties.txt
+++ b/oox/source/token/properties.txt
@@ -463,6 +463,7 @@ TransitionType
Transparency
TriState
Type
+UnnamedDatabaseRanges
URL
Url
UseFilterCriteriaSource
diff --git a/oox/source/xls/autofilterbuffer.cxx b/oox/source/xls/autofilterbuffer.cxx
index 9f5ea11..39b69a7 100644
--- a/oox/source/xls/autofilterbuffer.cxx
+++ b/oox/source/xls/autofilterbuffer.cxx
@@ -772,8 +772,7 @@ void AutoFilterBuffer::finalizeImport( sal_Int16 nSheet )
if( pFilterDBName->getAbsoluteRange( aFilterRange ) && (aFilterRange.Sheet == nSheet) )
{
// use the same name for the database range as used for the defined name '_FilterDatabase'
- OUString aDBRangeName = pFilterDBName->getCalcName();
- Reference< XDatabaseRange > xDatabaseRange = createDatabaseRangeObject( aDBRangeName, aFilterRange );
+ Reference< XDatabaseRange > xDatabaseRange = createUnnamedDatabaseRangeObject( aFilterRange );
// first, try to create an auto filter
bool bHasAutoFilter = finalizeImport( xDatabaseRange );
// no success: try to create an advanced filter
diff --git a/oox/source/xls/tablebuffer.cxx b/oox/source/xls/tablebuffer.cxx
index c285d75..621e7c8 100644
--- a/oox/source/xls/tablebuffer.cxx
+++ b/oox/source/xls/tablebuffer.cxx
@@ -94,7 +94,7 @@ void Table::finalizeImport()
if( (maModel.mnId > 0) && (maModel.maDisplayName.getLength() > 0) ) try
{
maDBRangeName = maModel.maDisplayName;
- Reference< XDatabaseRange > xDatabaseRange( createDatabaseRangeObject( maDBRangeName, maModel.maRange ), UNO_SET_THROW );
+ Reference< XDatabaseRange > xDatabaseRange( createUnnamedDatabaseRangeObject( maModel.maRange ), UNO_SET_THROW );
maDestRange = xDatabaseRange->getDataArea();
// get formula token index of the database range
diff --git a/oox/source/xls/workbookhelper.cxx b/oox/source/xls/workbookhelper.cxx
index 8cd127b..c30dce3 100644
--- a/oox/source/xls/workbookhelper.cxx
+++ b/oox/source/xls/workbookhelper.cxx
@@ -33,6 +33,7 @@
#include <com/sun/star/document/XActionLockable.hpp>
#include <com/sun/star/sheet/XDatabaseRange.hpp>
#include <com/sun/star/sheet/XDatabaseRanges.hpp>
+#include <com/sun/star/sheet/XUnnamedDatabaseRanges.hpp>
#include <com/sun/star/sheet/XNamedRange.hpp>
#include <com/sun/star/sheet/XNamedRanges.hpp>
#include <com/sun/star/sheet/XSpreadsheet.hpp>
@@ -140,6 +141,8 @@ public:
Reference< XNamedRange > createNamedRangeObject( OUString& orName, sal_Int32 nNameFlags ) const;
/** Creates and returns a database range on-the-fly in the Calc document. */
Reference< XDatabaseRange > createDatabaseRangeObject( OUString& orName, const CellRangeAddress& rRangeAddr ) const;
+ /** Creates and returns an unnamed database range on-the-fly in the Calc document. */
+ Reference< XDatabaseRange > createUnnamedDatabaseRangeObject( const CellRangeAddress& rRangeAddr ) const;
/** Creates and returns a com.sun.star.style.Style object for cells or pages. */
Reference< XStyle > createStyleObject( OUString& orStyleName, bool bPageStyle ) const;
@@ -400,6 +403,28 @@ Reference< XDatabaseRange > WorkbookData::createDatabaseRangeObject( OUString& o
return xDatabaseRange;
}
+Reference< XDatabaseRange > WorkbookData::createUnnamedDatabaseRangeObject( const CellRangeAddress& rRangeAddr ) const
+{
+ // validate cell range
+ CellRangeAddress aDestRange = rRangeAddr;
+ bool bValidRange = getAddressConverter().validateCellRange( aDestRange, true, true );
+
+ // create database range and insert it into the Calc document
+ Reference< XDatabaseRange > xDatabaseRange;
+ PropertySet aDocProps( mxDoc );
+ Reference< XUnnamedDatabaseRanges > xDatabaseRanges( aDocProps.getAnyProperty( PROP_UnnamedDatabaseRanges ), UNO_QUERY_THROW );
+ if( bValidRange ) try
+ {
+ xDatabaseRanges->setByTable( aDestRange );
+ xDatabaseRange.set( xDatabaseRanges->getByTable( aDestRange.Sheet ), UNO_QUERY );
+ }
+ catch( Exception& )
+ {
+ }
+ OSL_ENSURE( xDatabaseRange.is(), "WorkbookData::createDatabaseRangeObject - cannot create database range" );
+ return xDatabaseRange;
+}
+
Reference< XStyle > WorkbookData::createStyleObject( OUString& orStyleName, bool bPageStyle ) const
{
Reference< XStyle > xStyle;
@@ -748,6 +773,11 @@ Reference< XDatabaseRange > WorkbookHelper::createDatabaseRangeObject( OUString&
return mrBookData.createDatabaseRangeObject( orName, rRangeAddr );
}
+Reference< XDatabaseRange > WorkbookHelper::createUnnamedDatabaseRangeObject( const CellRangeAddress& rRangeAddr ) const
+{
+ return mrBookData.createUnnamedDatabaseRangeObject( rRangeAddr );
+}
+
Reference< XStyle > WorkbookHelper::createStyleObject( OUString& orStyleName, bool bPageStyle ) const
{
return mrBookData.createStyleObject( orStyleName, bPageStyle );
@@ -947,4 +977,4 @@ bool WorkbookHelperRoot::isValid() const
} // namespace xls
} // namespace oox
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 3f2c70f6b314b329fe2a3d58a034354cd0fee32b
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed May 4 13:49:31 2011 +0200
Copy&pasting is considered harmful
(cherry picked from commit 930824ebb65245e7f6630888379bb71438e63cf2)
diff --git a/oox/source/export/shapes.cxx b/oox/source/export/shapes.cxx
index 2d121dc..8758e0c 100644
--- a/oox/source/export/shapes.cxx
+++ b/oox/source/export/shapes.cxx
@@ -428,7 +428,7 @@ sal_Bool ShapeExport::NonEmptyText( Reference< XShape > xShape )
}
}
- if ( xPropSetInfo->hasPropertyByName( S( "IsEmptyPresentationObject" ) ) )
+ if ( xPropSetInfo->hasPropertyByName( S( "IsPresentationObject" ) ) )
{
sal_Bool bIsPresObj = sal_False;
if ( xPropSet->getPropertyValue( S( "IsPresentationObject" ) ) >>= bIsPresObj )
commit a64168675910f9d8b04b851ecf87795036d854e3
Author: Katarina Machalkova <kmachalkova at suse.cz>
Date: Wed May 4 11:49:38 2011 +0200
Check for existence of property before retrieving its value
Is[Empty]PresentationObject prop seems not to be set in Calc/Writer
shape objects and retrieving its value throws an exception.
This fixes export of xlsx docs with embedded pics/charts.
(cherry picked from commit dd719060ab7ba487aff70bbf21418a2c2fb9cce6)
diff --git a/oox/source/export/shapes.cxx b/oox/source/export/shapes.cxx
index aea1812..2d121dc 100644
--- a/oox/source/export/shapes.cxx
+++ b/oox/source/export/shapes.cxx
@@ -39,6 +39,7 @@
#include <com/sun/star/awt/FontUnderline.hpp>
#include <com/sun/star/awt/Gradient.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/beans/XPropertySetInfo.hpp>
#include <com/sun/star/beans/XPropertyState.hpp>
#include <com/sun/star/container/XEnumerationAccess.hpp>
#include <com/sun/star/drawing/FillStyle.hpp>
@@ -76,6 +77,7 @@
#include <oox/export/chartexport.hxx>
using namespace ::com::sun::star;
+using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::drawing;
using namespace ::com::sun::star::i18n;
@@ -105,6 +107,7 @@ using ::sax_fastparser::FSHelperPtr;
#define IDS(x) (OString(#x " ") + OString::valueOf( mnShapeIdMax++ )).getStr()
+
struct CustomShapeTypeTranslationTable
{
const char* sOOo;
@@ -408,17 +411,34 @@ awt::Size ShapeExport::MapSize( const awt::Size& rSize ) const
sal_Bool ShapeExport::NonEmptyText( Reference< XShape > xShape )
{
Reference< XPropertySet > xPropSet( xShape, UNO_QUERY );
- sal_Bool bIsEmptyPresObj = sal_False;
- if( xPropSet.is() && ( xPropSet->getPropertyValue( S( "IsEmptyPresentationObject" ) ) >>= bIsEmptyPresObj ) ) {
- DBG(printf("empty presentation object %d, props:\n", bIsEmptyPresObj));
- if( bIsEmptyPresObj )
- return sal_True;
- }
- sal_Bool bIsPresObj = sal_False;
- if( xPropSet.is() && ( xPropSet->getPropertyValue( S( "IsPresentationObject" ) ) >>= bIsPresObj ) ) {
- DBG(printf("presentation object %d, props:\n", bIsPresObj));
- if( bIsPresObj )
- return sal_True;
+
+ if( xPropSet.is() )
+ {
+ Reference< XPropertySetInfo > xPropSetInfo = xPropSet->getPropertySetInfo();
+ if ( xPropSetInfo.is() )
+ {
+ if ( xPropSetInfo->hasPropertyByName( S( "IsEmptyPresentationObject" ) ) )
+ {
+ sal_Bool bIsEmptyPresObj = sal_False;
+ if ( xPropSet->getPropertyValue( S( "IsEmptyPresentationObject" ) ) >>= bIsEmptyPresObj )
+ {
+ DBG(printf("empty presentation object %d, props:\n", bIsEmptyPresObj));
+ if( bIsEmptyPresObj )
+ return sal_True;
+ }
+ }
+
+ if ( xPropSetInfo->hasPropertyByName( S( "IsEmptyPresentationObject" ) ) )
+ {
+ sal_Bool bIsPresObj = sal_False;
+ if ( xPropSet->getPropertyValue( S( "IsPresentationObject" ) ) >>= bIsPresObj )
+ {
+ DBG(printf("presentation object %d, props:\n", bIsPresObj));
+ if( bIsPresObj )
+ return sal_True;
+ }
+ }
+ }
}
Reference< XSimpleText > xText( xShape, UNO_QUERY );
commit 83fce57490ac594de369748f2a4b7e4ed6484819
Author: Noel Power <noel.power at novell.com>
Date: Tue May 3 15:20:50 2011 +0100
svx-hacky-htmlselect-control-import.diff ( bnc#523191 )
diff --git a/filter/inc/filter/msfilter/msocximex.hxx b/filter/inc/filter/msfilter/msocximex.hxx
index b639730..5e1915d 100644
--- a/filter/inc/filter/msfilter/msocximex.hxx
+++ b/filter/inc/filter/msfilter/msocximex.hxx
@@ -1177,6 +1177,31 @@ public:
const com::sun::star::awt::Size& rSize );
};
+class HTML_Select : public OCX_ModernControl
+{
+public:
+ HTML_Select() : OCX_ModernControl(rtl::OUString::createFromAscii("TextBox")) {
+ msFormType = rtl::OUString::createFromAscii("com.sun.star.form.component.ListBox");
+ msDialogType = rtl::OUString::createFromAscii("com.sun.star.form.component.ListBox");
+ mnBackColor = 0x80000005L;
+ mnForeColor = 0x80000008L;
+ nBorderColor = 0x80000006L;
+ aFontData.SetHasAlign(sal_True);
+ fEnabled = true;
+ nMultiState =false;
+ }
+
+ using OCX_ModernControl::Import; // to not hide the other two import methods
+ virtual sal_Bool Import(com::sun::star::uno::Reference<
+ com::sun::star::beans::XPropertySet> &rPropSet);
+
+ static OCX_Control *Create() { return new HTML_Select;}
+
+ virtual sal_Bool Read(SotStorageStream *pS);
+ virtual sal_Bool ReadFontData(SotStorageStream *pS);
+ com::sun::star::uno::Sequence< rtl::OUString > msListData;
+ com::sun::star::uno::Sequence< sal_Int16 > msIndices;
+};
class HTML_TextBox : public OCX_ModernControl
{
diff --git a/filter/source/msfilter/msocximex.cxx b/filter/source/msfilter/msocximex.cxx
index c1599fb..7cac4d5 100644
--- a/filter/source/msfilter/msocximex.cxx
+++ b/filter/source/msfilter/msocximex.cxx
@@ -4270,6 +4270,8 @@ OCX_map aOCXTab[] =
{&OCX_ProgressBar::Create,"",
form::FormComponentType::CONTROL,""},
{&HTML_TextBox::Create,"5512D124-5CC6-11CF-8d67-00aa00bdce1d", form::FormComponentType::TEXTFIELD,"TextBox"},
+ {&HTML_Select::Create,"5512D122-5CC6-11CF-8d67-00aa00bdce1d",
+ form::FormComponentType::LISTBOX,"ListBox"},
};
const int NO_OCX = sizeof( aOCXTab ) / sizeof( *aOCXTab );
@@ -5054,6 +5056,143 @@ sal_Bool HTML_TextBox::ReadFontData(SotStorageStream * /*pS*/)
return sal_True;
}
+// HTML_Select
+sal_Bool HTML_Select::Import(com::sun::star::uno::Reference<
+ com::sun::star::beans::XPropertySet> &rPropSet)
+{
+ uno::Any aTmp(&sName,getCppuType((OUString *)0));
+ rPropSet->setPropertyValue( WW8_ASCII2STR("Name"), aTmp );
+
+ sal_Bool bTmp=fEnabled;
+ aTmp = bool2any(bTmp);
+ rPropSet->setPropertyValue( WW8_ASCII2STR("Enabled"), aTmp);
+
+ bTmp=fLocked;
+ aTmp = bool2any(bTmp);
+ rPropSet->setPropertyValue( WW8_ASCII2STR("ReadOnly"), aTmp);
+
+ aTmp <<= ImportColor(mnForeColor);
+ rPropSet->setPropertyValue( WW8_ASCII2STR("TextColor"), aTmp);
+
+ sal_Bool bTemp = nMultiState;
+ aTmp = bool2any(bTemp);
+ rPropSet->setPropertyValue( WW8_ASCII2STR("MultiSelection"), aTmp);
+
+ aTmp <<= ImportColor(mnBackColor);
+ rPropSet->setPropertyValue( WW8_ASCII2STR("BackgroundColor"), aTmp);
+
+ aTmp <<= ImportBorder(nSpecialEffect,nBorderStyle);
+ rPropSet->setPropertyValue( WW8_ASCII2STR("Border"), aTmp);
+
+ aTmp <<= ImportColor( nBorderColor );
+ rPropSet->setPropertyValue( WW8_ASCII2STR("BorderColor"), aTmp);
+
+ if ( msListData.getLength() )
+ {
+ aTmp <<= msListData;
+ rPropSet->setPropertyValue( WW8_ASCII2STR("StringItemList"), aTmp);
+ if ( msIndices.getLength() )
+ {
+ aTmp <<= msIndices;
+ rPropSet->setPropertyValue( WW8_ASCII2STR("SelectedItems"), aTmp);
+ }
+ }
+ rPropSet->setPropertyValue( WW8_ASCII2STR("Dropdown"), uno::makeAny( sal_True ));
+
+ return sal_True;
+}
+
+sal_Bool HTML_Select::Read(SotStorageStream *pS)
+{
+ static rtl::OUString sTerm( RTL_CONSTASCII_USTRINGPARAM("</SELECT") );
+ static String sMultiple( RTL_CONSTASCII_USTRINGPARAM("<SELECT MULTIPLE") );
+ static String sSelected( RTL_CONSTASCII_USTRINGPARAM("OPTION SELECTED") );
+
+ // we should be positioned at the html fragment ( really we should
+ // reorganise the reading of controls from excel such that the position and
+ // lenght of the associated record in the Ctls stream is available
+ // But since we don't know about the lenght of the stream lets read the stream
+ // until we reach the end of the fragment
+ // I wish I know where there was a html parser in openoffice
+ OUStringBuffer buf(40);
+ bool bTerminate = false;
+ do
+ {
+ sal_uInt16 ch = 0;
+ *pS >> ch;
+ sal_Unicode uni = static_cast< sal_Unicode >( ch );
+ // if the buffer ends with </SELECT> we are done
+ if ( uni == '>' )
+ {
+ rtl::OUString bufContents( buf.getStr() );
+ if ( bufContents.indexOf( sTerm ) != -1 )
+ bTerminate = true;
+
+ }
+ buf.append( &uni, 1 );
+
+ } while ( !pS->IsEof() && !bTerminate );
+ String data = buf.makeStringAndClear();
+
+ // replace crlf with lf
+ data.SearchAndReplaceAll( String( RTL_CONSTASCII_USTRINGPARAM( "\x0D\x0A" ) ), String( RTL_CONSTASCII_USTRINGPARAM( "\x0A" ) ) );
+ std::vector< rtl::OUString > listValues;
+ std::vector< sal_Int16 > selectedIndices;
+
+ // Ultra hacky parser for the info
+ sal_Int32 nTokenCount = data.GetTokenCount( '\n' );
+
+ for ( sal_Int32 nToken = 0; nToken < nTokenCount; ++nToken )
+ {
+ String sLine( data.GetToken( nToken, '\n' ) );
+ if ( !nToken ) // first line will tell us if multiselect is enabled
+ {
+ if ( sLine.CompareTo( sMultiple, sMultiple.Len() ) == COMPARE_EQUAL )
+ nMultiState = true;
+ }
+ // skip first and last lines, no data there
+ else if ( nToken < nTokenCount - 1)
+ {
+ if ( sLine.GetTokenCount( '>' ) )
+ {
+ String displayValue = sLine.GetToken( 1, '>' );
+ if ( displayValue.Len() )
+ {
+ // Really we should be using a proper html parser
+ // escaping some common bits to be escaped
+ displayValue.SearchAndReplace( String( RTL_CONSTASCII_USTRINGPARAM( "<" ) ), String( RTL_CONSTASCII_USTRINGPARAM("<") ) );
+ displayValue.SearchAndReplace( String( RTL_CONSTASCII_USTRINGPARAM( ">" ) ), String( RTL_CONSTASCII_USTRINGPARAM(">") ) );
+ displayValue.SearchAndReplace( String( RTL_CONSTASCII_USTRINGPARAM( """ ) ), String( RTL_CONSTASCII_USTRINGPARAM("\"") ) );
+ displayValue.SearchAndReplace( String( RTL_CONSTASCII_USTRINGPARAM( "&" ) ), String( RTL_CONSTASCII_USTRINGPARAM("&") ) );
+ listValues.push_back( displayValue );
+ if( sLine.Search( sSelected ) != STRING_NOTFOUND )
+ selectedIndices.push_back( static_cast< sal_Int16 >( listValues.size() ) - 1 );
+ }
+ }
+ }
+ }
+ if ( listValues.size() )
+ {
+ msListData.realloc( listValues.size() );
+ sal_Int32 index = 0;
+ for( std::vector< rtl::OUString >::iterator it = listValues.begin(); it != listValues.end(); ++it, ++index )
+ msListData[ index ] = *it;
+ }
+ if ( selectedIndices.size() )
+ {
+ msIndices.realloc( selectedIndices.size() );
+ sal_Int32 index = 0;
+ for( std::vector< sal_Int16 >::iterator it = selectedIndices.begin(); it != selectedIndices.end(); ++it, ++index )
+ msIndices[ index ] = *it;
+ }
+ return sal_True;
+}
+
+sal_Bool HTML_Select::ReadFontData(SotStorageStream* /*pS*/)
+{
+ return sal_True;
+}
+
// Doesn't really read anything but just skips the
// record.
sal_Bool OCX_TabStrip::Read(SotStorageStream *pS)
commit 489fdfcdf2a84fe4d87b6f3d1c1a8cffa0f6c4f5
Author: Marcel HB <marscel at googlemail.com>
Date: Tue May 3 20:02:40 2011 +0100
fix for fdo#33462
resets the row properties after each row is processed.
diff --git a/writerfilter/inc/resourcemodel/TableManager.hxx b/writerfilter/inc/resourcemodel/TableManager.hxx
index 7579ff6..6ea3da5 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)
commit e0b9d59987ae017a106c70010b973bfed76925a8
Author: Petr Mladek <pmladek at suse.cz>
Date: Tue May 3 20:01:35 2011 +0200
Version 3.3.99.4, tag libreoffice-3.3.99.4 (3.4.0-beta4)
commit c386dedd5ba63704e59d417c54dd1f3c73688aec
Author: Radek Doulik <rodo at novell.com>
Date: Fri Apr 29 17:11:19 2011 +0200
svx-ppt-bullet-offset-fix.diff: bullet list paragraph indentation (bnc#593609)
fixes TextRulerAtom record import, where we sometime ended up with bullet
offsets close to 0xffff
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx
index 4e695ea..a1c55c7 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -4046,18 +4046,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;
@@ -4065,7 +4072,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 95c7723..b773a08 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 );
commit 4022fed414a33c4641fe6ada02956768f86c74bb
Author: Radek Doulik <rodo at novell.com>
Date: Thu Apr 28 17:57:31 2011 +0200
unoxml-fix-empty-xmlns.diff: crasher in xml parser
diff --git a/unoxml/source/dom/node.cxx b/unoxml/source/dom/node.cxx
index f32e443..cbfbf4f 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)),
commit 2c49b70c0bd030ad697f5599aa40c604be87c875
Author: Radek Doulik <rodo at novell.com>
Date: Thu Apr 28 16:44:55 2011 +0200
filter-fix-build-FCFGMerge.cfg.diff: fix build without java
FCFGMerge.cfg was missing and required when building without java
diff --git a/filter/source/config/tools/merge/FCFGMerge.cfg b/filter/source/config/tools/merge/FCFGMerge.cfg
new file mode 100644
index 0000000..7e71e9c
--- /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
commit 3a3c72945dbc693012ba5bb15f2d3f60abd96e7a
Author: Radek Doulik <rodo at novell.com>
Date: Thu Apr 28 16:39:14 2011 +0200
svx-ppt-import-fix-bullet-size.diff: bullet size import (bnc#515972)
diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx
index e15afe1..95c7723 100644
--- a/filter/source/msfilter/svdfppt.cxx
+++ b/filter/source/msfilter/svdfppt.cxx
@@ -4827,7 +4827,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
commit 36edcd499f1cbb5775a2d49bcd23bebfe41d8bd6
Author: Radek Doulik <rodo at novell.com>
Date: Wed Apr 27 20:36:53 2011 +0200
fix-ppt-linespacing-import-export.diff: fix ppt import (bnc#355302)
diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx
index 9c6da58..e15afe1 100644
--- a/filter/source/msfilter/svdfppt.cxx
+++ b/filter/source/msfilter/svdfppt.cxx
@@ -6094,9 +6094,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 );
commit 5a4b0e22838539b86b1f496eb88d260f20443371
Author: Radek Doulik <rodo at novell.com>
Date: Wed Apr 27 20:15:39 2011 +0200
goodies-eps-filter-unix.diff: generate correct EPS on UNIX (bnc#200053)
diff --git a/filter/source/graphicfilter/eps/eps.cxx b/filter/source/graphicfilter/eps/eps.cxx
index 018719f..b2d2ccc 100644
--- a/filter/source/graphicfilter/eps/eps.cxx
+++ b/filter/source/graphicfilter/eps/eps.cxx
@@ -295,7 +295,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
@@ -312,12 +316,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;
- mbCompression = pFilterConfigItem->ReadInt32( aComprStr, 1 ) == 1;
+#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 )
commit ab3c66ec9fcca8a319fa391e5ff2c8149d118984
Author: Petr Mladek <pmladek at suse.cz>
Date: Wed Apr 27 17:48:09 2011 +0200
buildfix-oox-depends-on-unotools.diff: fix dependency
diff --git a/oox/prj/build.lst b/oox/prj/build.lst
index 8ff9e5e..07c4e0e 100644
--- a/oox/prj/build.lst
+++ b/oox/prj/build.lst
@@ -1,4 +1,4 @@
-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 get - all oox_prj NULL
oox oox\source\token nmake - all oox_token NULL
commit af765e8027cce9a33686d2b1c3f0f4b6dab644a0
Author: Petr Mladek <pmladek at suse.cz>
Date: Tue Apr 26 17:09:10 2011 +0200
Version 3.3.99.3, tag libreoffice-3.3.99.3 (3.4.0-beta3)
More information about the Libreoffice-commits
mailing list