[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.2' - sw/qa writerfilter/source

Bakos Attila (via logerrit) logerrit at kemper.freedesktop.org
Fri Jan 10 18:55:44 UTC 2020


 sw/qa/extras/ooxmlexport/data/tdf128207.docx      |binary
 sw/qa/extras/ooxmlexport/ooxmlexport13.cxx        |    6 ++++++
 writerfilter/source/dmapper/DomainMapper_Impl.cxx |    4 ++++
 writerfilter/source/dmapper/GraphicImport.cxx     |    5 +++++
 writerfilter/source/dmapper/GraphicImport.hxx     |    2 ++
 5 files changed, 17 insertions(+)

New commits:
commit a0c9bfc8186ca6fae43f611554f4a23e99250f54
Author:     Bakos Attila <bakos.attilakaroly at nisz.hu>
AuthorDate: Fri Jan 10 10:49:14 2020 +0100
Commit:     Miklos Vajna <vmiklos at collabora.com>
CommitDate: Fri Jan 10 19:55:16 2020 +0100

    tdf#128207: DOCX import: fix chart positioning
    
    Embedded graphic objects had got 0 values for vertical and horizontal
    positioning before, resulting overlapping, hidden charts,
    but now they are positioned according to the values in the document.
    
    (cherry picked from commit d9c535ead688e9f156dbcf43948df08a69e218be)
    
    Conflicts:
            sw/qa/extras/ooxmlexport/ooxmlexport14.cxx
    
    [ Miklos: reworked the testcase to use the UNO API, the other way would
    only work on master. ]
    
    Change-Id: Ia5403ac65ff7192d61072e8a9d8a7f80c7178b9b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86557
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Miklos Vajna <vmiklos at collabora.com>

diff --git a/sw/qa/extras/ooxmlexport/data/tdf128207.docx b/sw/qa/extras/ooxmlexport/data/tdf128207.docx
new file mode 100644
index 000000000000..c234ec8bc10f
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf128207.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport13.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport13.cxx
index 27cb3a804b0b..a90130c7118c 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport13.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport13.cxx
@@ -355,6 +355,12 @@ DECLARE_OOXMLEXPORT_TEST(testTdf129353, "tdf129353.docx")
                          aIndexString);
 }
 
+DECLARE_OOXMLIMPORT_TEST(testTdf128207, "tdf128207.docx")
+{
+    //There was the charts on each other, because their horizontal and vertical position was 0!
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(12), getProperty<sal_Int32>(getShape(1), "HoriOrientPosition"));
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 0efe88acffbd..8356ecb8e8ee 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -5635,6 +5635,10 @@ void  DomainMapper_Impl::ImportGraphic(const writerfilter::Reference< Properties
 
     // Update the shape properties if it is embedded object.
     if(m_xEmbedded.is()){
+        if (m_pGraphicImport->GetXShapeObject())
+                m_pGraphicImport->GetXShapeObject()->setPosition(
+                    m_pGraphicImport->GetGraphicObjectPosition());
+
         uno::Reference<drawing::XShape> xShape = m_pGraphicImport->GetXShapeObject();
         UpdateEmbeddedShapeProps(xShape);
         if (eGraphicImportType == IMPORT_AS_DETECTED_ANCHOR)
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx
index 8afaad814777..d2e36a5aa638 100644
--- a/writerfilter/source/dmapper/GraphicImport.cxx
+++ b/writerfilter/source/dmapper/GraphicImport.cxx
@@ -424,6 +424,11 @@ GraphicImport::~GraphicImport()
 {
 }
 
+com::sun::star::awt::Point GraphicImport::GetGraphicObjectPosition()
+{
+    return (com::sun::star::awt::Point(m_pImpl->nLeftPosition, m_pImpl->nTopPosition));
+}
+
 void GraphicImport::handleWrapTextValue(sal_uInt32 nVal)
 {
     switch (nVal)
diff --git a/writerfilter/source/dmapper/GraphicImport.hxx b/writerfilter/source/dmapper/GraphicImport.hxx
index 70b02d353e8f..028096fd350a 100644
--- a/writerfilter/source/dmapper/GraphicImport.hxx
+++ b/writerfilter/source/dmapper/GraphicImport.hxx
@@ -99,6 +99,8 @@ public:
     bool IsGraphic() const;
     sal_Int32 GetLeftMarginOrig() const;
 
+    com::sun::star::awt::Point GetGraphicObjectPosition();
+
  private:
     // Properties
     virtual void lcl_attribute(Id Name, Value & val) override;


More information about the Libreoffice-commits mailing list