[ooo-build-commit] patches/dev300

Jan Holesovsky kendy at kemper.freedesktop.org
Thu Oct 15 12:37:02 PDT 2009


 patches/dev300/apply                   |    6 
 patches/dev300/docx-export-enable.diff |  527 ++++++++++++++++++++++++---------
 2 files changed, 389 insertions(+), 144 deletions(-)

New commits:
commit eef63aa22a9827b31461eb1a07dbf52e042b717c
Author: Jan Holesovsky <kendy at suse.cz>
Date:   Thu Oct 15 21:34:53 2009 +0200

    DOCX: Make the docx export work again.
    
    * patches/dev300/apply: Enable.
    * patches/dev300/docx-export-enable.diff: Fix build.

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 4e3dfee..52c57a8 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -3109,6 +3109,8 @@ mail-document-subject.diff, n#459176
 pptx-filter-as-a-separate-lib-sd-build-lst-with-transogl.diff
 
 [ OOXMLExport ]
+# Enable the DOCX export (and few related features in oox)
+docx-export-enable.diff, jholesov
 
 # Snapshot of the pptx export filter at the time of creation of ooxml03
 # This is until 0475--fix-crash-introduced-by-Jonathan-s-changes-in-eppt.patch
@@ -3192,10 +3194,6 @@ odf-converter-ignore-writerfilter.diff, n#348471, n#502173, jholesov
 # above. --tml
 # oox-pptx-export-fix-hidden-slides.diff, n#499131, rodo
 
-[ OOXMLExportExperimental ]
-# apply this patch to enable docx export once ooxml03 is integrated
-docx-export-enable.diff
-
 [ OOXMLExport ]
 # FIXME: 2009-08-21: Otherwise applies, but patches nonexistent files
 # (created by diffs above that are commented out for now).
diff --git a/patches/dev300/docx-export-enable.diff b/patches/dev300/docx-export-enable.diff
index 0a7f7f7..a34cbdc 100644
--- a/patches/dev300/docx-export-enable.diff
+++ b/patches/dev300/docx-export-enable.diff
@@ -1,116 +1,7 @@
-Index: sw/source/filter/ww8/wrtww8.hxx
-===================================================================
---- sw/source/filter/ww8/wrtww8.hxx	(revision 273252)
-+++ sw/source/filter/ww8/wrtww8.hxx	(revision 273251)
-@@ -296,9 +296,7 @@
-     wwFont( const String &rFamilyName, FontPitch ePitch, FontFamily eFamily,
-         rtl_TextEncoding eChrSet, bool bWrtWW8 );
-     bool Write( SvStream *pTableStram ) const;
--#ifdef DOCX
-     void WriteDocx( const DocxAttributeOutput* rAttrOutput ) const;
--#endif
-     rtl::OUString GetFamilyName() const { return rtl::OUString( msFamilyNm ); }
-     friend bool operator < (const wwFont &r1, const wwFont &r2);
- };
-@@ -321,9 +319,7 @@
-     USHORT GetId(const SvxFontItem& rFont);
-     USHORT GetId(const wwFont& rFont);
-     void WriteFontTable( SvStream *pTableStream, WW8Fib& pFib );
--#ifdef DOCX
-     void WriteFontTable( const DocxAttributeOutput& rAttrOutput );
--#endif
- };
- 
- class DrawObj
-Index: sw/source/filter/ww8/wrtw8sty.cxx
-===================================================================
---- sw/source/filter/ww8/wrtw8sty.cxx	(revision 273252)
-+++ sw/source/filter/ww8/wrtw8sty.cxx	(revision 273251)
-@@ -691,7 +691,6 @@
-     return true;
- }
- 
--#ifdef DOCX
- void wwFont::WriteDocx( const DocxAttributeOutput* rAttrOutput ) const
- {
-     // no font embedding, panose id, subsetting, ... implemented
-@@ -706,7 +705,6 @@
- 
-     rAttrOutput->EndFont();
- }
--#endif
- 
- bool operator<(const wwFont &r1, const wwFont &r2)
- {
-@@ -824,7 +822,6 @@
-     }
- }
- 
--#ifdef DOCX
- void wwFontHelper::WriteFontTable( const DocxAttributeOutput& rAttrOutput )
- {
-     ::std::vector<const wwFont *> aFontList( AsVector() );
-@@ -832,7 +829,6 @@
-     ::std::for_each( aFontList.begin(), aFontList.end(),
-         ::std::bind2nd( ::std::mem_fun( &wwFont::WriteDocx ), &rAttrOutput ) );
- }
--#endif
- 
- /*  */
- 
-Index: sw/source/filter/ww8/makefile.mk
-===================================================================
---- sw/source/filter/ww8/makefile.mk	(revision 273252)
-+++ sw/source/filter/ww8/makefile.mk	(revision 273251)
-@@ -62,6 +62,7 @@
- 		$(SLO)$/wrtw8num.obj \
- 		$(SLO)$/wrtw8sty.obj \
- 		$(SLO)$/wrtww8.obj \
-+		$(SLO)$/docxexportfilter.obj \
- 		$(SLO)$/ww8atr.obj \
- 		$(SLO)$/ww8par.obj \
- 		$(SLO)$/ww8par6.obj \
-@@ -79,6 +80,9 @@
- 		$(SLO)$/wrtw8sty.obj \
- 		$(SLO)$/wrtww8.obj \
- 		$(SLO)$/wrtww8gr.obj \
-+		$(SLO)$/docxattributeoutput.obj \
-+		$(SLO)$/docxexportfilter.obj \
-+		$(SLO)$/docxexport.obj \
- 		$(SLO)$/ww8atr.obj \
- 		$(SLO)$/ww8graf.obj \
- 		$(SLO)$/ww8graf2.obj \
-Index: sw/util/makefile.mk
-===================================================================
---- sw/util/makefile.mk	(revision 273252)
-+++ sw/util/makefile.mk	(revision 273251)
-@@ -320,6 +320,8 @@
- 
- SHL4STDLIBS= \
- 	$(ISWLIB) \
-+	$(OOXLIB) \
-+	$(SAXLIB) \
- 	$(SVXCORELIB) \
- 	$(SVXMSFILTERLIB) \
- 	$(SFXLIB) \
-Index: sw/util/msword.map
-===================================================================
---- sw/util/msword.map	(revision 273252)
-+++ sw/util/msword.map	(revision 273251)
-@@ -4,6 +4,9 @@
-                 ExportRTF;
-                 ImportDOC;
-                 ExportDOC;
-+                component_getImplementationEnvironment;
-+                component_writeInfo;
-+                component_getFactory;
- 
-         local:
-                 *;
-Index: filter/source/config/fragments/filters/MS_Word_2007_XML.xcu
-===================================================================
---- filter/source/config/fragments/filters/MS_Word_2007_XML.xcu	(revision 273252)
-+++ filter/source/config/fragments/filters/MS_Word_2007_XML.xcu	(revision 273251)
+diff --git filter/source/config/fragments/filters/MS_Word_2007_XML.xcu filter/source/config/fragments/filters/MS_Word_2007_XML.xcu
+index d8a3740..c8c9f00 100644
+--- filter/source/config/fragments/filters/MS_Word_2007_XML.xcu
++++ filter/source/config/fragments/filters/MS_Word_2007_XML.xcu
 @@ -1,5 +1,5 @@
      <node oor:name="MS Word 2007 XML" oor:op="replace">
 -        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER</value></prop>
@@ -118,48 +9,107 @@ Index: filter/source/config/fragments/filters/MS_Word_2007_XML.xcu
          <prop oor:name="UIComponent"/>
          <prop oor:name="FilterService"><value>com.sun.star.comp.Writer.WriterFilter</value></prop>
          <prop oor:name="UserData"><value>OXML</value></prop>
-Index: oox/prj/build.lst
-===================================================================
---- oox/prj/build.lst	(revision 273252)
-+++ oox/prj/build.lst	(revision 273251)
+diff --git oox/inc/oox/vml/vmldrawing.hxx oox/inc/oox/vml/vmldrawing.hxx
+index f0bd750..f9a80ac 100644
+--- oox/inc/oox/vml/vmldrawing.hxx
++++ oox/inc/oox/vml/vmldrawing.hxx
+@@ -33,7 +33,8 @@
+ 
+ #include <map>
+ #include <memory>
+-#include "oox/ole/oleobjecthelper.hxx"
++
++#include <oox/ole/oleobjecthelper.hxx>
+ 
+ namespace com { namespace sun { namespace star {
+     namespace awt { struct Rectangle; }
+diff --git oox/prj/build.lst oox/prj/build.lst
+index d0e446f..89bf77d 100644
+--- oox/prj/build.lst
++++ oox/prj/build.lst
 @@ -1,4 +1,4 @@
 -oox	oox : vos cppu cppuhelper comphelper sal offapi sax basegfx tools vcl unotools BOOST:boost OPENSSL:openssl NULL
 +oox	oox : vos cppu cppuhelper comphelper sal offapi sax basegfx svx tools vcl unotools BOOST:boost OPENSSL:openssl 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
-@@ -15,4 +15,5 @@
+@@ -15,4 +15,5 @@ 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\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_shape oox_docprop 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
-Index: oox/prj/d.lst
-===================================================================
---- oox/prj/d.lst	(revision 273252)
-+++ oox/prj/d.lst	(revision 273251)
-@@ -1,6 +1,7 @@
+diff --git oox/prj/d.lst oox/prj/d.lst
+index 2c9d8d5..04a526d 100644
+--- oox/prj/d.lst
++++ oox/prj/d.lst
+@@ -4,6 +4,8 @@ mkdir: %_DEST%\inc%_EXT%\oox\core
  mkdir: %_DEST%\inc%_EXT%\oox\drawingml
  mkdir: %_DEST%\inc%_EXT%\oox\drawingml\chart
  mkdir: %_DEST%\inc%_EXT%\oox\drawingml\table
 +mkdir: %_DEST%\inc%_EXT%\oox\export
++mkdir: %_DEST%\inc%_EXT%\oox\ole
  mkdir: %_DEST%\inc%_EXT%\oox\vml
  
  ..\%__SRC%\misc\*.map %_DEST%\bin%_EXT%\*.map
-@@ -27,6 +28,7 @@
+@@ -30,8 +32,10 @@ mkdir: %_DEST%\inc%_EXT%\oox\vml
+ ..\inc\oox\core\xmlfilterbase.hxx %_DEST%\inc%_EXT%\oox\core\xmlfilterbase.hxx
+ ..\inc\oox\drawingml\chart\chartconverter.hxx %_DEST%\inc%_EXT%\oox\drawingml\chart\chartconverter.hxx
  ..\inc\oox\drawingml\table\tablestylelist.hxx %_DEST%\inc%_EXT%\oox\drawingml\table\tablestylelist.hxx
++..\inc\oox\ole\oleobjecthelper.hxx %_DEST%\inc%_EXT%\oox\ole\oleobjecthelper.hxx
  ..\inc\oox\vml\vmldrawing.hxx %_DEST%\inc%_EXT%\oox\vml\vmldrawing.hxx
  ..\inc\oox\vml\vmlshape.hxx %_DEST%\inc%_EXT%\oox\vml\vmlshape.hxx
 +..\inc\oox\export\*.hxx %_DEST%\inc%_EXT%\oox\export\*.hxx
  
  dos: sh -c "if test %OS% = MACOSX; then create-bundle %_DEST%\lib%_EXT%\*.dylib; fi"
  
-Index: oox/util/makefile.mk
-===================================================================
---- oox/util/makefile.mk	(revision 273252)
-+++ oox/util/makefile.mk	(revision 273251)
-@@ -57,7 +57,8 @@
+diff --git oox/source/export/drawingml.cxx oox/source/export/drawingml.cxx
+index 1d29513..da9f2d7 100644
+--- oox/source/export/drawingml.cxx
++++ oox/source/export/drawingml.cxx
+@@ -43,6 +43,7 @@
+ #include <com/sun/star/beans/XPropertySet.hpp>
+ #include <com/sun/star/beans/XPropertyState.hpp>
+ #include <com/sun/star/container/XEnumerationAccess.hpp>
++#include <com/sun/star/container/XIndexAccess.hpp>
+ #include <com/sun/star/drawing/BitmapMode.hpp>
+ #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
+ #include <com/sun/star/drawing/LineDash.hpp>
+@@ -50,6 +51,7 @@
+ #include <com/sun/star/drawing/LineStyle.hpp>
+ #include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
+ #include <com/sun/star/drawing/TextVerticalAdjust.hpp>
++#include <com/sun/star/drawing/XShape.hpp>
+ #include <com/sun/star/i18n/ScriptType.hpp>
+ #include <com/sun/star/io/XOutputStream.hpp>
+ #include <com/sun/star/style/ParagraphAdjust.hpp>
+@@ -487,13 +489,13 @@ OUString DrawingML::WriteImage( const Graphic& rGraphic )
+         case DOCUMENT_XLSX: pComponent = "xl"; break;
+     }
+ 
+-    Reference< XOutputStream > xOutStream = mpFB->openOutputStream( OUStringBuffer()
+-                                                                    .appendAscii( pComponent )
+-                                                                    .appendAscii( "/media/image" )
+-                                                                    .append( (sal_Int32) mnImageCounter )
+-                                                                    .appendAscii( sExtension )
+-                                                                    .makeStringAndClear(),
+-                                                                    sMediaType );
++    Reference< XOutputStream > xOutStream = mpFB->openFragmentStream( OUStringBuffer()
++                                                                      .appendAscii( pComponent )
++                                                                      .appendAscii( "/media/image" )
++                                                                      .append( (sal_Int32) mnImageCounter )
++                                                                      .appendAscii( sExtension )
++                                                                      .makeStringAndClear(),
++                                                                      sMediaType );
+     xOutStream->writeBytes( Sequence< sal_Int8 >( (const sal_Int8*) aData, nDataSize ) );
+     xOutStream->closeOutput();
+     
+diff --git oox/util/makefile.mk oox/util/makefile.mk
+index e3b880d..748f517 100644
+--- oox/util/makefile.mk
++++ oox/util/makefile.mk
+@@ -57,7 +57,8 @@ LIB1FILES=	\
      $(SLB)$/table.lib\
      $(SLB)$/shape.lib\
      $(SLB)$/dump.lib\
@@ -169,18 +119,315 @@ Index: oox/util/makefile.mk
  
  # --- Shared-Library -----------------------------------------------
  
-@@ -72,7 +73,13 @@
- 		$(RTLLIB)		\
- 		$(SALLIB)		\
- 		$(BASEGFXLIB)	\
+@@ -72,7 +73,13 @@ SHL1STDLIBS= \
+         $(RTLLIB)		\
+         $(SALLIB)		\
+         $(BASEGFXLIB)	\
 -		$(SAXLIB)
-+		$(SAXLIB)		\
-+		$(VCLLIB)		\
-+		$(GOODIESLIB)		\
-+		$(SVTOOLLIB)		\
-+		$(SVXCORELIB)		\
-+		$(SVXMSFILTERLIB)	\
-+		$(TOOLSLIB)
++        $(SAXLIB)		\
++        $(VCLLIB)		\
++        $(GOODIESLIB)		\
++        $(SVTOOLLIB)		\
++        $(SVXCORELIB)		\
++        $(SVXMSFILTERLIB)	\
++        $(TOOLSLIB)
  
  # link openssl, copied this bit from ucb/source/ucp/webdav/makefile.mk
  .IF "$(GUI)"=="WNT"
+diff --git scp2/source/ooo/file_library_ooo.scp scp2/source/ooo/file_library_ooo.scp
+index 7eb72b4..5c84824 100644
+--- scp2/source/ooo/file_library_ooo.scp
++++ scp2/source/ooo/file_library_ooo.scp
+@@ -1586,7 +1586,7 @@ STD_UNO_LIB_FILE( gid_File_Lib_TextConversionDlgs, textconversiondlgs)
+ STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Sw , sw)
+ STD_LIB_FILE_PATCH( gid_File_Lib_Swui, swui)
+ 
+-STD_LIB_FILE_PATCH( gid_File_Lib_Msword, msword )
++STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Msword, msword )
+ 
+ #if ! defined UNX
+ File gid_File_Lib_Sysdtrans
+diff --git sw/source/filter/ww8/docxexport.cxx sw/source/filter/ww8/docxexport.cxx
+index 694f75a..b66b059 100644
+--- sw/source/filter/ww8/docxexport.cxx
++++ sw/source/filter/ww8/docxexport.cxx
+@@ -315,7 +315,7 @@ bool DocxExport::DisallowInheritingOutlineNumbering( const SwFmt& rFmt )
+ }
+ 
+ void DocxExport::WriteHeadersFooters( BYTE nHeadFootFlags,
+-        const SwFrmFmt& rFmt, const SwFrmFmt& rLeftFmt, const SwFrmFmt& rFirstPageFmt )
++        const SwFrmFmt& rFmt, const SwFrmFmt& rLeftFmt, const SwFrmFmt& rFirstPageFmt, BYTE /*nBreakCode*/ )
+ {
+     // headers
+     if ( nHeadFootFlags & nsHdFtFlags::WW8_HEADER_EVEN )
+@@ -336,6 +336,10 @@ void DocxExport::WriteHeadersFooters( BYTE nHeadFootFlags,
+ 
+     if ( nHeadFootFlags & nsHdFtFlags::WW8_FOOTER_FIRST )
+         WriteHeaderFooter( rFirstPageFmt, false, "first" );
++
++#if OSL_DEBUG_LEVEL > 0
++    fprintf( stderr, "DocxExport::WriteHeadersFooters() - nBreakCode introduced, but ignored\n" );
++#endif
+ }
+ 
+ void DocxExport::OutputField( const SwField* pFld, ww::eField eFldType, const String& rFldCmd, BYTE nMode )
+@@ -350,6 +354,13 @@ void DocxExport::WriteFormData( const ::sw::mark::IFieldmark& /*rFieldmark*/ )
+ #endif
+ }
+ 
++void DocxExport::WriteHyperlinkData( const ::sw::mark::IFieldmark& /*rFieldmark*/ )
++{
++#if OSL_DEBUG_LEVEL > 0
++    fprintf( stderr, "TODO DocxExport::WriteHyperlinkData()\n" );
++#endif
++}
++
+ void DocxExport::DoComboBox(const rtl::OUString& rName,
+                              const rtl::OUString& rHelp,
+                              const rtl::OUString& rToolTip,
+@@ -543,7 +554,7 @@ void DocxExport::InitStyles()
+             S( "styles.xml" ) );
+ 
+     ::sax_fastparser::FSHelperPtr pStylesFS =
+-        m_pFilter->openOutputStreamWithSerializer( S( "word/styles.xml" ),
++        m_pFilter->openFragmentStreamWithSerializer( S( "word/styles.xml" ),
+             S( "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" ) );
+ 
+     // switch the serializer to redirect the output to word/styles.xml
+@@ -566,7 +577,7 @@ void DocxExport::WriteFootnotesEndnotes()
+                 S( "footnotes.xml" ) );
+ 
+         ::sax_fastparser::FSHelperPtr pFootnotesFS =
+-            m_pFilter->openOutputStreamWithSerializer( S( "word/footnotes.xml" ),
++            m_pFilter->openFragmentStreamWithSerializer( S( "word/footnotes.xml" ),
+                     S( "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" ) );
+ 
+         // switch the serializer to redirect the output to word/footnotes.xml
+@@ -587,7 +598,7 @@ void DocxExport::WriteFootnotesEndnotes()
+                 S( "endnotes.xml" ) );
+ 
+         ::sax_fastparser::FSHelperPtr pEndnotesFS =
+-            m_pFilter->openOutputStreamWithSerializer( S( "word/endnotes.xml" ),
++            m_pFilter->openFragmentStreamWithSerializer( S( "word/endnotes.xml" ),
+                     S( "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" ) );
+ 
+         // switch the serializer to redirect the output to word/endnotes.xml
+@@ -610,7 +621,7 @@ void DocxExport::WriteNumbering()
+         S( "http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering" ),
+         S( "numbering.xml" ) );
+ 
+-    ::sax_fastparser::FSHelperPtr pNumberingFS = m_pFilter->openOutputStreamWithSerializer( S( "word/numbering.xml" ),
++    ::sax_fastparser::FSHelperPtr pNumberingFS = m_pFilter->openFragmentStreamWithSerializer( S( "word/numbering.xml" ),
+         S( "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" ) );
+ 
+     // switch the serializer to redirect the output to word/nubering.xml
+@@ -643,7 +654,7 @@ void DocxExport::WriteHeaderFooter( const SwFmt& rFmt, bool bHeader, const char*
+                 S( "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header" ),
+                 aName );
+         
+-        pFS = m_pFilter->openOutputStreamWithSerializer( OUStringBuffer().appendAscii( "word/" ).append( aName ).makeStringAndClear(),
++        pFS = m_pFilter->openFragmentStreamWithSerializer( OUStringBuffer().appendAscii( "word/" ).append( aName ).makeStringAndClear(),
+                     S( "application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml" ) );
+ 
+         pFS->startElementNS( XML_w, XML_hdr,
+@@ -658,7 +669,7 @@ void DocxExport::WriteHeaderFooter( const SwFmt& rFmt, bool bHeader, const char*
+                 S( "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" ),
+                 aName );
+         
+-        pFS = m_pFilter->openOutputStreamWithSerializer( OUStringBuffer().appendAscii( "word/" ).append( aName ).makeStringAndClear(),
++        pFS = m_pFilter->openFragmentStreamWithSerializer( OUStringBuffer().appendAscii( "word/" ).append( aName ).makeStringAndClear(),
+                     S( "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" ) );
+ 
+         pFS->startElementNS( XML_w, XML_ftr,
+@@ -701,7 +712,7 @@ void DocxExport::WriteFonts()
+             S( "http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable" ),
+             S( "fontTable.xml" ) );
+ 
+-    ::sax_fastparser::FSHelperPtr pFS = m_pFilter->openOutputStreamWithSerializer(
++    ::sax_fastparser::FSHelperPtr pFS = m_pFilter->openFragmentStreamWithSerializer(
+             S( "word/fontTable.xml" ),
+             S( "application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" ) );
+ 
+@@ -789,7 +800,7 @@ DocxExport::DocxExport( DocxExportFilter *pFilter, SwDoc *pDocument, SwPaM *pCur
+             S( "word/document.xml" ) );
+ 
+     // the actual document
+-    m_pDocumentFS = m_pFilter->openOutputStreamWithSerializer( S( "word/document.xml" ),
++    m_pDocumentFS = m_pFilter->openFragmentStreamWithSerializer( S( "word/document.xml" ),
+             S( "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" ) );
+ 
+     // the DrawingML access
+diff --git sw/source/filter/ww8/docxexport.hxx sw/source/filter/ww8/docxexport.hxx
+index 5b40319..183b1f3 100644
+--- sw/source/filter/ww8/docxexport.hxx
++++ sw/source/filter/ww8/docxexport.hxx
+@@ -116,7 +116,7 @@ public:
+ 
+     /// Output the actual headers and footers.
+     virtual void WriteHeadersFooters( BYTE nHeadFootFlags,
+-            const SwFrmFmt& rFmt, const SwFrmFmt& rLeftFmt, const SwFrmFmt& rFirstPageFmt );
++            const SwFrmFmt& rFmt, const SwFrmFmt& rLeftFmt, const SwFrmFmt& rFirstPageFmt, BYTE nBreakCode );
+ 
+     /// Write the field
+     virtual void OutputField( const SwField* pFld, ww::eField eFldType,
+@@ -124,6 +124,7 @@ public:
+ 
+     /// Write the data of the form field
+     virtual void WriteFormData( const ::sw::mark::IFieldmark& rFieldmark );
++    virtual void WriteHyperlinkData( const ::sw::mark::IFieldmark& rFieldmark );
+     
+     virtual void DoComboBox(const rtl::OUString &rName,
+                     const rtl::OUString &rHelp,
+@@ -157,7 +158,7 @@ protected:
+ 
+     virtual void AppendSection( const SwPageDesc *pPageDesc, const SwSectionFmt* pFmt, ULONG nLnNum );
+ 
+-    virtual void SectionBreaksAndFrames( const SwTxtNode& rNode ) {}
++    virtual void SectionBreaksAndFrames( const SwTxtNode& /*rNode*/ ) {}
+ 
+     /// Get ready for a new section.
+     virtual void PrepareNewPageDesc( const SfxItemSet* pSet,
+diff --git sw/source/filter/ww8/docxexportfilter.cxx sw/source/filter/ww8/docxexportfilter.cxx
+index 990b6e7..c6995f0 100644
+--- sw/source/filter/ww8/docxexportfilter.cxx
++++ sw/source/filter/ww8/docxexportfilter.cxx
+@@ -79,7 +79,7 @@ bool DocxExportFilter::exportDocument()
+         aExport.ExportDocument( true ); // FIXME support exporting selection only
+     }
+ 
+-    commit();
++    commitStorage();
+ 
+     // delete the pCurPam
+     if ( pCurPam )
+diff --git sw/source/filter/ww8/docxexportfilter.hxx sw/source/filter/ww8/docxexportfilter.hxx
+index e1e6fde..c308de2 100644
+--- sw/source/filter/ww8/docxexportfilter.hxx
++++ sw/source/filter/ww8/docxexportfilter.hxx
+@@ -33,7 +33,7 @@
+ 
+ #include <oox/core/xmlfilterbase.hxx>
+ #include <oox/drawingml/chart/chartconverter.hxx>
+-#include <oox/vml/drawing.hxx>
++#include <oox/vml/vmldrawing.hxx>
+ 
+ #include <com/sun/star/beans/PropertyValue.hpp>
+ 
+@@ -48,7 +48,7 @@ public:
+     virtual bool        importDocument() { return false; }
+     virtual const ::oox::drawingml::Theme* getCurrentTheme() const { return NULL; }
+     virtual sal_Int32   getSchemeClr( sal_Int32 ) const { return 0; }
+-    virtual const ::oox::vml::DrawingPtr getDrawings() { return ::oox::vml::DrawingPtr(); }
++    virtual ::oox::vml::Drawing* getVmlDrawing() { return NULL; }
+     virtual ::oox::drawingml::chart::ChartConverter& getChartConverter() { static ::oox::drawingml::chart::ChartConverter aConverter; return aConverter; }
+     virtual const ::oox::drawingml::table::TableStyleListPtr getTableStyles() { return ::oox::drawingml::table::TableStyleListPtr(); }
+ 
+diff --git sw/source/filter/ww8/makefile.mk sw/source/filter/ww8/makefile.mk
+index 1693f0f..b9bc37a 100644
+--- sw/source/filter/ww8/makefile.mk
++++ sw/source/filter/ww8/makefile.mk
+@@ -62,6 +62,7 @@ EXCEPTIONSFILES = \
+         $(SLO)$/wrtw8num.obj \
+         $(SLO)$/wrtw8sty.obj \
+         $(SLO)$/wrtww8.obj \
++        $(SLO)$/docxexportfilter.obj \
+         $(SLO)$/ww8atr.obj \
+         $(SLO)$/ww8par.obj \
+         $(SLO)$/ww8par6.obj \
+@@ -80,6 +81,9 @@ SLOFILES =	\
+         $(SLO)$/wrtw8sty.obj \
+         $(SLO)$/wrtww8.obj \
+         $(SLO)$/wrtww8gr.obj \
++        $(SLO)$/docxattributeoutput.obj \
++        $(SLO)$/docxexportfilter.obj \
++        $(SLO)$/docxexport.obj \
+         $(SLO)$/ww8atr.obj \
+         $(SLO)$/ww8graf.obj \
+         $(SLO)$/ww8graf2.obj \
+diff --git sw/source/filter/ww8/wrtw8sty.cxx sw/source/filter/ww8/wrtw8sty.cxx
+index c6f6ce0..2619c65 100644
+--- sw/source/filter/ww8/wrtw8sty.cxx
++++ sw/source/filter/ww8/wrtw8sty.cxx
+@@ -697,7 +697,6 @@ bool wwFont::Write(SvStream *pTableStrm) const
+     return true;
+ }
+ 
+-#ifdef DOCX
+ void wwFont::WriteDocx( const DocxAttributeOutput* rAttrOutput ) const
+ {
+     // no font embedding, panose id, subsetting, ... implemented
+@@ -712,7 +711,6 @@ void wwFont::WriteDocx( const DocxAttributeOutput* rAttrOutput ) const
+ 
+     rAttrOutput->EndFont();
+ }
+-#endif
+ 
+ bool operator<(const wwFont &r1, const wwFont &r2)
+ {
+@@ -830,7 +828,6 @@ void wwFontHelper::WriteFontTable(SvStream *pTableStream, WW8Fib& rFib)
+     }
+ }
+ 
+-#ifdef DOCX
+ void wwFontHelper::WriteFontTable( const DocxAttributeOutput& rAttrOutput )
+ {
+     ::std::vector<const wwFont *> aFontList( AsVector() );
+@@ -838,7 +835,6 @@ void wwFontHelper::WriteFontTable( const DocxAttributeOutput& rAttrOutput )
+     ::std::for_each( aFontList.begin(), aFontList.end(),
+         ::std::bind2nd( ::std::mem_fun( &wwFont::WriteDocx ), &rAttrOutput ) );
+ }
+-#endif
+ 
+ /*  */
+ 
+diff --git sw/source/filter/ww8/wrtww8.hxx sw/source/filter/ww8/wrtww8.hxx
+index 1f3e9f2..bb4a481 100644
+--- sw/source/filter/ww8/wrtww8.hxx
++++ sw/source/filter/ww8/wrtww8.hxx
+@@ -296,9 +296,7 @@ public:
+     wwFont( const String &rFamilyName, FontPitch ePitch, FontFamily eFamily,
+         rtl_TextEncoding eChrSet, bool bWrtWW8 );
+     bool Write( SvStream *pTableStram ) const;
+-#ifdef DOCX
+     void WriteDocx( const DocxAttributeOutput* rAttrOutput ) const;
+-#endif
+     rtl::OUString GetFamilyName() const { return rtl::OUString( msFamilyNm ); }
+     friend bool operator < (const wwFont &r1, const wwFont &r2);
+ };
+@@ -321,9 +319,7 @@ public:
+     USHORT GetId(const SvxFontItem& rFont);
+     USHORT GetId(const wwFont& rFont);
+     void WriteFontTable( SvStream *pTableStream, WW8Fib& pFib );
+-#ifdef DOCX
+     void WriteFontTable( const DocxAttributeOutput& rAttrOutput );
+-#endif
+ };
+ 
+ class DrawObj
+diff --git sw/util/makefile.mk sw/util/makefile.mk
+index c89f6c9..b4e1127 100644
+--- sw/util/makefile.mk
++++ sw/util/makefile.mk
+@@ -321,6 +321,8 @@ DEF4NAME=$(SHL4TARGET)
+ 
+ SHL4STDLIBS= \
+     $(ISWLIB) \
++    $(OOXLIB) \
++    $(SAXLIB) \
+     $(SVXCORELIB) \
+     $(SVXMSFILTERLIB) \
+     $(SFXLIB) \
+diff --git sw/util/msword.map sw/util/msword.map
+index 53c3eaf..d08d56d 100644
+--- sw/util/msword.map
++++ sw/util/msword.map
+@@ -4,6 +4,9 @@ MSWORD_1_0 {
+                 ExportRTF;
+                 ImportDOC;
+                 ExportDOC;
++                component_getImplementationEnvironment;
++                component_writeInfo;
++                component_getFactory;
+ 
+         local:
+                 *;


More information about the ooo-build-commit mailing list