sw/qa/extras/ooxmlexport/data/dml-groupshape-relsize.docx |binary sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 9 +++++++++ sw/source/core/layout/anchoreddrawobject.cxx | 5 +++-- writerfilter/source/dmapper/GraphicImport.cxx | 3 +-- 4 files changed, 13 insertions(+), 4 deletions(-)
New commits: commit f7a7a5a686367aa775fef8d077bfdfec7b2fad82 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon Feb 17 16:27:39 2014 +0100 SwAnchoredDrawObject::GetObjBoundRect: ignore relative size of group shapes Instead of not reading the relative size of group shapes at all, read it into the document model, just ignore it during painting. Visually this doesn't change anything, however this way we can write the information back to the file. Change-Id: Ic24fceaacec0f831d657a35e52493e1c0e9bf626 diff --git a/sw/qa/extras/ooxmlexport/data/dml-groupshape-relsize.docx b/sw/qa/extras/ooxmlexport/data/dml-groupshape-relsize.docx new file mode 100755 index 0000000..6be137b Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/dml-groupshape-relsize.docx differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index 86b1d84..9514031 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -2308,6 +2308,15 @@ DECLARE_OOXMLEXPORT_TEST(testDmlShapeRelsize, "dml-shape-relsize.docx") assertXPath(pXmlDoc, "/w:document/w:body/w:p/w:r/mc:AlternateContent/mc:Choice/w:drawing/wp:anchor/wp14:sizeRelH", "relativeFrom", "page"); } +DECLARE_OOXMLEXPORT_TEST(testDmlGroupshapeRelsize, "dml-groupshape-relsize.docx") +{ + xmlDocPtr pXmlDoc = parseExport("word/document.xml"); + if (!pXmlDoc) + return; + // Relative size wasn't imported. + assertXPath(pXmlDoc, "/w:document/w:body/w:p/w:r/mc:AlternateContent/mc:Choice/w:drawing/wp:anchor/wp14:sizeRelH", "relativeFrom", "page"); +} + DECLARE_OOXMLEXPORT_TEST(testTrackChangesDeletedParagraphMark, "testTrackChangesDeletedParagraphMark.docx") { xmlDocPtr pXmlDoc = parseExport("word/document.xml"); diff --git a/sw/source/core/layout/anchoreddrawobject.cxx b/sw/source/core/layout/anchoreddrawobject.cxx index dd260ec..65416d4 100644 --- a/sw/source/core/layout/anchoreddrawobject.cxx +++ b/sw/source/core/layout/anchoreddrawobject.cxx @@ -27,8 +27,8 @@ // --> #i32795# #include <txtfrm.hxx> // --> #i32795# -// template class <std::vector> #include <vector> +#include <svx/svdogrp.hxx> using namespace ::com::sun::star; @@ -626,8 +626,9 @@ const SwRect SwAnchoredDrawObject::GetObjRect() const // --> #i70122# const SwRect SwAnchoredDrawObject::GetObjBoundRect() const { + bool bGroupShape = PTR_CAST(SdrObjGroup, GetDrawObj()); // Resize objects with relative width or height - if ( GetPageFrm( ) && ( GetDrawObj( )->GetRelativeWidth( ) || GetDrawObj()->GetRelativeHeight( ) ) ) + if ( !bGroupShape && GetPageFrm( ) && ( GetDrawObj( )->GetRelativeWidth( ) || GetDrawObj()->GetRelativeHeight( ) ) ) { Rectangle aPageRect = GetPageFrm( )->GetBoundRect( ).SVRect(); Rectangle aCurrObjRect = GetDrawObj()->GetCurrentBoundRect(); diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index f3d33cf..2009bf5 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -955,8 +955,7 @@ 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(); - uno::Reference<lang::XServiceInfo> xServiceInfo(m_xShape, uno::UNO_QUERY); - if (nPositivePercentage && !xServiceInfo->supportsService("com.sun.star.drawing.GroupShape")) + if (nPositivePercentage) { 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