From eac3e6e746300df379226941ba75c4e0ce1feb7a Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Wed, 14 Nov 2012 19:03:05 +0100 Subject: n#789482 DOCX: export track change data after w:hyperlink Change-Id: If204523d7da544b11b2d809993ada180476104ef --- sw/source/filter/ww8/docxattributeoutput.cxx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'sw/source/filter/ww8/docxattributeoutput.cxx') diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index 45abbf61e6ca..d69e2ccbb776 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -461,8 +461,9 @@ void DocxAttributeOutput::EndParagraphProperties() void DocxAttributeOutput::StartRun( const SwRedlineData* pRedlineData, bool /*bSingleEmptyRun*/ ) { - // if there is some redlining in the document, output it - StartRedline( pRedlineData ); + // Don't start redline data here, possibly there is a hyperlink later, and + // that has to be started first. + m_pRedlineData = pRedlineData; // postpone the output of the start of a run (there are elements that need // to be written before the start of the run, but we learn which they are @@ -539,6 +540,9 @@ void DocxAttributeOutput::EndRun() m_startedHyperlink = true; } + // if there is some redlining in the document, output it + StartRedline(); + DoWriteBookmarks( ); WriteCommentRanges(); @@ -1237,12 +1241,11 @@ void DocxAttributeOutput::Redline( const SwRedlineData* /*pRedline*/ ) OSL_TRACE( "TODO DocxAttributeOutput::Redline( const SwRedlineData* pRedline )" ); } -void DocxAttributeOutput::StartRedline( const SwRedlineData* pRedlineData ) +void DocxAttributeOutput::StartRedline() { - m_pRedlineData = pRedlineData; - if ( !m_pRedlineData ) return; + const SwRedlineData* pRedlineData = m_pRedlineData; // FIXME check if it's necessary to travel over the Next()'s in pRedlineData -- cgit