sw/qa/extras/ooxmlexport/data/tdf113183.docx   |binary
 sw/qa/extras/ooxmlexport/ooxmlexport11.cxx     |   10 ++++++++++
 writerfilter/source/dmapper/GraphicHelpers.cxx |    4 ++++
 3 files changed, 14 insertions(+)

New commits:
commit 134898e42ac6c455d5df0c2de3842d1bd7309f5f
Author: Miklos Vajna <vmik...@collabora.co.uk>
Date:   Tue Dec 12 09:18:39 2017 +0100

    tdf#113183 DOCX import: fix not independent text box alignments
    
    The alternative would be to clear them in
    writerfilter::dmapper::DomainMapper::getPositionOffset(), but that runs
    before writerfilter::dmapper::PositionHandler::lcl_sprm(), so it would
    be too early.
    
    Conflicts:
            sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
    
    (cherry picked from commit 312cecf11c1ab8acef6ce08ccb90d5322836b08f)
    
    Change-Id: I287b9a4025c4b1844ae467c48815b5d7ffe3f98e
    Reviewed-on: https://gerrit.libreoffice.org/46322
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sw/qa/extras/ooxmlexport/data/tdf113183.docx 
b/sw/qa/extras/ooxmlexport/data/tdf113183.docx
new file mode 100644
index 000000000000..197f483ba011
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf113183.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
index 116b3f05bb2b..6aca7e81b2cd 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
@@ -99,6 +99,16 @@ DECLARE_OOXMLEXPORT_TEST(testTdf67207_MERGEFIELD, 
"mailmerge.docx")
     
CPPUNIT_ASSERT_EQUAL(OUString("com.sun.star.text.fieldmaster.DataBase.Name"), 
sValue);
 }
 
+DECLARE_OOXMLEXPORT_TEST(testTdf113183, "tdf113183.docx")
+{
+    // This was 2096, the horizontal positioning of the star shape affected the
+    // positioning of the triangle one, so the triangle was outside the page
+    // frame.
+    CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0),
+                         getProperty<sal_Int32>(getShapeByName("triangle"),
+                                                "HoriOrientPosition"));
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/dmapper/GraphicHelpers.cxx 
b/writerfilter/source/dmapper/GraphicHelpers.cxx
index 62579dbaa864..8108445d24fb 100644
--- a/writerfilter/source/dmapper/GraphicHelpers.cxx
+++ b/writerfilter/source/dmapper/GraphicHelpers.cxx
@@ -133,9 +133,11 @@ void PositionHandler::lcl_sprm(Sprm& rSprm)
     {
         case NS_ooxml::LN_CT_PosH_posOffset:
             m_nPosition = 
oox::drawingml::convertEmuToHmm(m_rPositionOffsets.first.toInt32());
+            m_rPositionOffsets.first.clear();
             break;
         case NS_ooxml::LN_CT_PosV_posOffset:
             m_nPosition = 
oox::drawingml::convertEmuToHmm(m_rPositionOffsets.second.toInt32());
+            m_rPositionOffsets.second.clear();
             break;
         case NS_ooxml::LN_CT_PosH_align:
         {
@@ -150,6 +152,7 @@ void PositionHandler::lcl_sprm(Sprm& rSprm)
                 m_nOrient = text::HoriOrientation::INSIDE;
             else if (rAlign == "outside")
                 m_nOrient = text::HoriOrientation::OUTSIDE;
+            rAlign.clear();
             break;
         }
         case NS_ooxml::LN_CT_PosV_align:
@@ -165,6 +168,7 @@ void PositionHandler::lcl_sprm(Sprm& rSprm)
                 m_nOrient = text::VertOrientation::NONE;
             else if (rAlign == "outside")
                 m_nOrient = text::VertOrientation::NONE;
+            rAlign.clear();
             break;
         }
     }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to