sw/source/filter/ww8/docxattributeoutput.cxx |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

New commits:
commit 4ebb6a4724b7b1156f6051c482f20975649c1781
Author:     Noel Grandin <[email protected]>
AuthorDate: Wed Jan 14 13:23:43 2026 +0200
Commit:     Michael Stahl <[email protected]>
CommitDate: Fri Jan 16 12:03:29 2026 +0100

    officeotron: duplicate w:framePr under w:pPr
    
    we have duplicate data here
    
    <w:pPr>
        <w:pStyle w:val="Normal"/>
        <w:framePr w:hRule="exact" w:h="23" ...
        <w:framePr w:w="9923" w:h="910" w:y="568" ...
    
    Seems like the w:framePr has more useful info, so suppress the first 
framePr in this case.
    
    Change-Id: I7dfd7ced352b773c63a31e04f9ab0cdc82743942
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197287
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <[email protected]>
    (cherry picked from commit fca86a116dcc5c6e309a66dd47809b05ec0d2c89)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197419
    Tested-by: Jenkins CollaboraOffice <[email protected]>

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index 7e8e6b81e3ea..7287489147d7 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -1631,17 +1631,23 @@ void DocxAttributeOutput::EndParagraphProperties(const 
SfxItemSet& rParagraphMar
         WriteCollectedParagraphProperties();
     Redline( pRedlineData );
 
-    WriteCollectedParagraphProperties();
-
-    // Write w:framePr
     if (!m_bWritingHeaderFooter && m_aFramePr.Frame())
     {
+        // write the collected paragraph properties __without__ the <framePr> 
element
+        m_rExport.SdrExporter().getFlyAttrList().clear();
+        WriteCollectedParagraphProperties();
+
+        // Write w:framePr
         const SwFrameFormat& rFrameFormat = 
m_aFramePr.Frame()->GetFrameFormat();
         assert(SwTextBoxHelper::TextBoxIsFramePr(rFrameFormat) && "by 
definition, because Frame()");
 
         const Size aSize = m_aFramePr.Frame()->GetSize();
         PopulateFrameProperties(&rFrameFormat, aSize);
     }
+    else
+    {
+        WriteCollectedParagraphProperties();
+    }
 
     // Write 'Paragraph Mark' properties
     m_pSerializer->startElementNS(XML_w, XML_rPr);

Reply via email to