tdf#114303 writerfilter: RTF import: fix default vert orient of shapes
The bugdoc is affected by the change of default vertical alignment, it
doesn't contain anything that would set the VertOrient property.
(regression from c79467ba954987f1d239c594c1e1b3af3f5515f6)
Setting the AnchorType property before adding the shape is actually not
as effective as expected: it does cause the old default vertical
alignment to be used, but does not actually set the anchor type because
there is no anchor position and so SwXDrawPage::add resets the anchor
type to FLY_AT_PAGE; it's less confusing to set the VertOrient
property instead.
Change-Id: Ib0a71d20d479776ab5e4c21c3dd13c0c307a045e
diff --git a/writerfilter/source/rtftok/rtfdispatchdestination.cxx b/writerfilter/source/rtftok/rtfdispatchdestination.cxx
index f844de1..0f795c7 100644
--- a/writerfilter/source/rtftok/rtfdispatchdestination.cxx
+++ b/writerfilter/source/rtftok/rtfdispatchdestination.cxx
@@ -11,7 +11,7 @@
#include <com/sun/star/document/DocumentProperties.hpp>
#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
#include <com/sun/star/text/TextContentAnchorType.hpp>
#include <com/sun/star/text/VertOrientation.hpp>
#include <filter/msfilter/escherex.hxx>
#include <rtl/character.hxx>
@@ -598,11 +598,10 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
if (xDrawSupplier.is())
{
uno::Reference<drawing::XShape> xShape(xGroupShape, uno::UNO_QUERY);
// set AnchorType before inserting
// set default VertOrient before inserting
uno::Reference<beans::XPropertySet>(xShape, uno::UNO_QUERY)
->setPropertyValue(
"AnchorType",
uno::makeAny(text::TextContentAnchorType_AT_CHARACTER));
->setPropertyValue("VertOrient",
uno::makeAny(text::VertOrientation::NONE));
xDrawSupplier->getDrawPage()->add(xShape);
}
m_pSdrImport->pushParent(xGroupShape);
diff --git a/writerfilter/source/rtftok/rtfsdrimport.cxx b/writerfilter/source/rtftok/rtfsdrimport.cxx
index 5605f5c..b79d371 100644
--- a/writerfilter/source/rtftok/rtfsdrimport.cxx
+++ b/writerfilter/source/rtftok/rtfsdrimport.cxx
@@ -341,6 +341,7 @@ int RTFSdrImport::initShape(uno::Reference<drawing::XShape>& o_xShape,
o_xPropSet->setPropertyValue(
"FillColor",
uno::makeAny(sal_uInt32(0xffffff))); // White in Word, kind of blue in Writer.
o_xPropSet->setPropertyValue("VertOrient", uno::makeAny(text::VertOrientation::NONE));
}
return nType;