summaryrefslogtreecommitdiff
path: root/sw/source/filter/ww8
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2012-11-14 19:03:05 +0100
committerMiklos Vajna <vmiklos@suse.cz>2012-11-15 11:31:04 +0100
commit6d634c9d05fecb39b1624008ca6c5edfc53cb357 (patch)
tree628e1bcce07e8d23d69f7dddce7adf9b8b1c51be /sw/source/filter/ww8
parent827a7070d44524f805bad715b6bfbe0948bfbae5 (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.cxx13
-rw-r--r--sw/source/filter/ww8/docxattributeoutput.hxx2
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.
///