[Libreoffice-commits] .: Branch 'libreoffice-3-6' - sw/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Dec 17 09:12:17 PST 2012


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

New commits:
commit 1a776160ba9abde53bbebce6fdd2cb264a800c2f
Author: Miklos Vajna <vmiklos at suse.cz>
Date:   Wed Nov 14 19:03:05 2012 +0100

    fdo#52477 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 d075cd4..71b84f4 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 3cc75b7..b605aba 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.
     ///


More information about the Libreoffice-commits mailing list