diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2012-11-14 19:03:05 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2012-11-15 11:31:04 +0100 |
commit | 6d634c9d05fecb39b1624008ca6c5edfc53cb357 (patch) | |
tree | 628e1bcce07e8d23d69f7dddce7adf9b8b1c51be /sw/source/filter/ww8 | |
parent | 827a7070d44524f805bad715b6bfbe0948bfbae5 (diff) |
n#789482 DOCX: export track change data after w:hyperlink
(cherry picked from commit eac3e6e746300df379226941ba75c4e0ce1feb7a)
Conflicts:
sw/source/filter/ww8/docxattributeoutput.cxx
Change-Id: If204523d7da544b11b2d809993ada180476104ef
Diffstat (limited to 'sw/source/filter/ww8')
-rw-r--r-- | sw/source/filter/ww8/docxattributeoutput.cxx | 13 | ||||
-rw-r--r-- | sw/source/filter/ww8/docxattributeoutput.hxx | 2 |
2 files changed, 9 insertions, 6 deletions
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index 94e3d6e2d246..e6d4bc80b1ff 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -507,8 +507,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 @@ -585,6 +586,9 @@ void DocxAttributeOutput::EndRun() m_startedHyperlink = true; } + // if there is some redlining in the document, output it + StartRedline(); + DoWriteBookmarks( ); m_pSerializer->startElementNS( XML_w, XML_r, FSEND ); @@ -1315,12 +1319,11 @@ static OString impl_DateTimeToOString( const DateTime& rDateTime ) return aBuffer.makeStringAndClear(); } -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 diff --git a/sw/source/filter/ww8/docxattributeoutput.hxx b/sw/source/filter/ww8/docxattributeoutput.hxx index aca7a3d750b6..7fa6e4be5154 100644 --- a/sw/source/filter/ww8/docxattributeoutput.hxx +++ b/sw/source/filter/ww8/docxattributeoutput.hxx @@ -137,7 +137,7 @@ public: /// /// Start of the tag that encloses the run, fills the info according to /// the value of m_pRedlineData. - void StartRedline( const SwRedlineData* pRedlineData ); + void StartRedline(); /// Output redlining. /// |