diff options
Diffstat (limited to 'writerfilter/source/rtftok/rtfdispatchflag.cxx')
-rw-r--r-- | writerfilter/source/rtftok/rtfdispatchflag.cxx | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/writerfilter/source/rtftok/rtfdispatchflag.cxx b/writerfilter/source/rtftok/rtfdispatchflag.cxx index 38c5f0e5a2a3..a50165506f81 100644 --- a/writerfilter/source/rtftok/rtfdispatchflag.cxx +++ b/writerfilter/source/rtftok/rtfdispatchflag.cxx @@ -12,6 +12,7 @@ #include <com/sun/star/drawing/XDrawPageSupplier.hpp> #include <com/sun/star/drawing/XEnhancedCustomShapeDefaulter.hpp> #include <com/sun/star/text/RelOrientation.hpp> +#include <com/sun/star/text/VertOrientation.hpp> #include <filter/msfilter/escherex.hxx> @@ -965,12 +966,19 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword) getModelFactory()->createInstance("com.sun.star.drawing.CustomShape"), uno::UNO_QUERY); uno::Reference<drawing::XDrawPageSupplier> xDrawSupplier(m_xDstDoc, uno::UNO_QUERY); + m_aStates.top().aDrawingObject.xPropertySet.set(m_aStates.top().aDrawingObject.xShape, + uno::UNO_QUERY); if (xDrawSupplier.is()) { uno::Reference<drawing::XShapes> xShapes(xDrawSupplier->getDrawPage(), uno::UNO_QUERY); if (xShapes.is() && nKeyword != RTF_DPTXBX) + { + // set default VertOrient before inserting + m_aStates.top().aDrawingObject.xPropertySet->setPropertyValue( + "VertOrient", uno::makeAny(text::VertOrientation::NONE)); xShapes->add(m_aStates.top().aDrawingObject.xShape); + } } if (nType) { @@ -978,8 +986,6 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword) m_aStates.top().aDrawingObject.xShape, uno::UNO_QUERY); xDefaulter->createCustomShapeDefaults(OUString::number(nType)); } - m_aStates.top().aDrawingObject.xPropertySet.set(m_aStates.top().aDrawingObject.xShape, - uno::UNO_QUERY); std::vector<beans::PropertyValue>& rPendingProperties = m_aStates.top().aDrawingObject.aPendingProperties; for (auto& rPendingProperty : rPendingProperties) |