sw/qa/extras/ooxmlimport/data/groupshape-relsize.docx |binary sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 6 ++++++ writerfilter/source/dmapper/GraphicImport.cxx | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-)
New commits: commit 02a17688f3cae61f531185cc9f4bb86cd1df8e9d Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Wed Feb 12 13:33:17 2014 +0100 DOCX drawingML import: fix relative size of group shapes Change-Id: I5a126bd9eaacaee2e080837a34d8ac41cbb9ea10 diff --git a/sw/qa/extras/ooxmlimport/data/groupshape-relsize.docx b/sw/qa/extras/ooxmlimport/data/groupshape-relsize.docx new file mode 100644 index 0000000..5aca958 Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/groupshape-relsize.docx differ diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index 15c3fdf..f9a0240 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -1757,6 +1757,12 @@ DECLARE_OOXMLIMPORT_TEST(testDMLGroupshapeSdt, "dml-groupshape-sdt.docx") CPPUNIT_ASSERT_EQUAL(OUString("sdt and sdtContent inside groupshape"), uno::Reference<text::XTextRange>(xGroupShape->getByIndex(1), uno::UNO_QUERY)->getString()); } +DECLARE_OOXMLIMPORT_TEST(testGroupshapeRelsize, "groupshape-relsize.docx") +{ + // This was 43760, i.e. the height of the groupshape was larger than the page height, which is obviously incorrect. + CPPUNIT_ASSERT_EQUAL(sal_Int32(EMU_TO_MM100(9142730)), getShape(1)->getSize().Height); +} + DECLARE_OOXMLIMPORT_TEST(testDMLGroupShapeCapitalization, "dml-groupshape-capitalization.docx") { // Capitalization inside a group shape was not imported diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 2009bf5..f3d33cf 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -955,7 +955,8 @@ void GraphicImport::lcl_sprm(Sprm & rSprm) sal_Int16 nPositivePercentage = rtl::math::round(m_pImpl->m_rPositivePercentages.front().toDouble() / oox::drawingml::PER_PERCENT); m_pImpl->m_rPositivePercentages.pop(); - if (nPositivePercentage) + uno::Reference<lang::XServiceInfo> xServiceInfo(m_xShape, uno::UNO_QUERY); + if (nPositivePercentage && !xServiceInfo->supportsService("com.sun.star.drawing.GroupShape")) { uno::Reference<beans::XPropertySet> xPropertySet(m_xShape, uno::UNO_QUERY); OUString aProperty = nSprmId == NS_ooxml::LN_CT_SizeRelH_pctWidth ? OUString("RelativeWidth") : OUString("RelativeHeight"); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits