diff options
author | Noel Power <noel.power@novell.com> | 2011-05-19 16:02:59 +0100 |
---|---|---|
committer | Noel Power <noel.power@novell.com> | 2011-05-19 16:07:43 +0100 |
commit | ac80fce47404c0843c372336ab700d62297f1647 (patch) | |
tree | 968a11ea32772062f71ef8e1415097dee3fb845c | |
parent | 6c30a0d5c26314eeb4d6a10a9d661021c111e076 (diff) |
fix for fod#37367 ( docx import of hyperlinks )
this fix is a companion fix for the change made below
http://cgit.freedesktop.org/libreoffice/filters/commit/?id=cdd636907675d538ca10d479afc538ce3800e729http://cgit.freedesktop.org/libreoffice/filters/commit/?id=cdd636907675d538ca10d479afc538ce3800e729
previously OOXMLHyperlinkHandler::~OOXMLHyperlinkHandler()'s call to resulted in the OOXMLFastContextHandlerStream::lcl_character method getting called which in turn called the OOXMLFastContextHandler::text method. This no longer happen so we call the text method directly now
-rw-r--r-- | writerfilter/source/dmapper/DomainMapperTableHandler.cxx | 31 | ||||
-rw-r--r-- | writerfilter/source/ooxml/Handler.cxx | 2 |
2 files changed, 32 insertions, 1 deletions
diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx index c68e95783..c6f8f7828 100644 --- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx @@ -33,6 +33,7 @@ #include <com/sun/star/table/BorderLine2.hpp> #include <com/sun/star/text/HoriOrientation.hpp> #include <dmapperLoggers.hxx> +#include <comphelper/anytostring.hxx> #ifdef DEBUG_DMAPPER_TABLE_HANDLER #include <PropertyMapHelper.hxx> @@ -51,6 +52,33 @@ using namespace ::std; #define DEF_BORDER_DIST 190 //0,19cm #define DEFAULT_CELL_MARGIN 108 //default cell margin, not documented +void dumpSequenceOfSequence( const char* msg, const uno::Sequence< uno::Sequence< beans::PropertyValue > >& seqOfSeq ) +{ + if ( msg ) + osl_trace("%s", msg); + for ( int row=0; row < seqOfSeq.getLength(); ++row ) + { + const uno::Sequence< beans::PropertyValue >& props = seqOfSeq[ row ]; + for ( int index=0; index < props.getLength(); ++index ) + { + rtl::OUString sVal( ::comphelper::anyToString( props[ index ].Value ) ); + + osl_trace( "seq[%d][%d] prop name %s, value %s", row,index, + rtl::OUStringToOString( props[ index ].Name, RTL_TEXTENCODING_UTF8 ).getStr() , + rtl::OUStringToOString( sVal, RTL_TEXTENCODING_UTF8 ).getStr() ); + } + } +} + +void dumpSequenceOfSequenceOfSequence( const char* msg, const uno::Sequence< uno::Sequence< uno::Sequence< beans::PropertyValue > > >& seqOfSeqOfSeq ) +{ + for ( int index=0; index < seqOfSeqOfSeq.getLength(); ++index ) + { + osl_trace("dumping seqOfseq[ %d ]", index ); + uno::Sequence< uno::Sequence< beans::PropertyValue > > seqOfSeq = seqOfSeqOfSeq[ index ]; + dumpSequenceOfSequence( msg, seqOfSeq ); + } +} #ifdef DEBUG_DMAPPER_TABLE_HANDLER static void lcl_printProperties( PropertyMapPtr pProps ) { @@ -708,6 +736,9 @@ void DomainMapperTableHandler::endTable() { try { + osl_trace("about to convert the table"); + dumpSequenceOfSequenceOfSequence( "dumping the cell properties", aCellProperties ); + dumpSequenceOfSequence( "dumping the row properties", aRowProperties ); uno::Reference<text::XTextTable> xTable = m_xText->convertToTable(*m_pTableSeq, aCellProperties, aRowProperties, diff --git a/writerfilter/source/ooxml/Handler.cxx b/writerfilter/source/ooxml/Handler.cxx index cad510a6e..0f3a2a8dd 100644 --- a/writerfilter/source/ooxml/Handler.cxx +++ b/writerfilter/source/ooxml/Handler.cxx @@ -309,7 +309,7 @@ OOXMLHyperlinkHandler::~OOXMLHyperlinkHandler() sReturn += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"")); sReturn += mFieldCode; - mpFastContext->characters(sReturn); + mpFastContext->text(sReturn); } void OOXMLHyperlinkHandler::attribute(Id name, Value & val) |