sw/source/filter/ww8/docxattributeoutput.cxx |   13 ++++++++-----
 sw/source/filter/ww8/docxattributeoutput.hxx |    2 +-
 2 files changed, 9 insertions(+), 6 deletions(-)

New commits:
commit 6d634c9d05fecb39b1624008ca6c5edfc53cb357
Author: Miklos Vajna <vmik...@suse.cz>
Date:   Wed Nov 14 19:03:05 2012 +0100

    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

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index 94e3d6e..e6d4bc8 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 aca7a3d..7fa6e4b 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.
     ///
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to