[Libreoffice-commits] core.git: sw/qa writerfilter/source

Jacobo Aragunde Pérez jaragunde at igalia.com
Thu Jul 3 05:06:13 PDT 2014


 sw/qa/extras/ooxmlimport/data/fdo80555.docx   |binary
 sw/qa/extras/ooxmlimport/ooxmlimport.cxx      |    7 +++++++
 writerfilter/source/dmapper/GraphicImport.cxx |    4 +++-
 3 files changed, 10 insertions(+), 1 deletion(-)

New commits:
commit 816542b2bdd23423625ad4c2f0e706d5558b8ba9
Author: Jacobo Aragunde Pérez <jaragunde at igalia.com>
Date:   Thu Jul 3 11:47:23 2014 +0200

    fdo#80555: Set position of GraphicObjectShape objects correctly
    
    Added a unit test for this issue.
    
    Change-Id: I13656f82c97e5bb8458cdc1cb47ddcc5f6d60330

diff --git a/sw/qa/extras/ooxmlimport/data/fdo80555.docx b/sw/qa/extras/ooxmlimport/data/fdo80555.docx
new file mode 100644
index 0000000..a15bdc1
Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/fdo80555.docx differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index 6562b97..21f5ac6 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -2230,6 +2230,13 @@ DECLARE_OOXMLIMPORT_TEST(testTableBtlrCenter, "table-btlr-center.docx")
     CPPUNIT_ASSERT_EQUAL(text::VertOrientation::CENTER, getProperty<sal_Int16>(xTable->getCellByName("A2"), "VertOrient"));
 }
 
+DECLARE_OOXMLIMPORT_TEST(testFdo80555, "fdo80555.docx")
+{
+    uno::Reference<drawing::XShape> xShape = getShape(1);
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(3318), xShape->getPosition().X);
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(245), xShape->getPosition().Y);
+}
+
 #endif
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx
index cf3da2a..038d974 100644
--- a/writerfilter/source/dmapper/GraphicImport.cxx
+++ b/writerfilter/source/dmapper/GraphicImport.cxx
@@ -782,9 +782,11 @@ void GraphicImport::lcl_attribute(Id nName, Value& rValue)
                         m_pImpl->applyPosition(xShapeProps);
 
                         uno::Reference<lang::XServiceInfo> xServiceInfo(m_xShape, uno::UNO_QUERY_THROW);
-                        if (xServiceInfo->supportsService("com.sun.star.drawing.GroupShape"))
+                        if (xServiceInfo->supportsService("com.sun.star.drawing.GroupShape") ||
+                                xServiceInfo->supportsService("com.sun.star.drawing.GraphicObjectShape"))
                         {
                             // Position of the groupshape should be set after children have been added.
+                            // fdo#80555: also set position for graphic shapes here
                             m_xShape->setPosition(awt::Point(m_pImpl->nLeftPosition, m_pImpl->nTopPosition));
                         }
                         m_pImpl->applyRelativePosition(xShapeProps);


More information about the Libreoffice-commits mailing list