diff options
Diffstat (limited to 'writerfilter/source')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.cxx | 5 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.hxx | 2 | ||||
-rw-r--r-- | writerfilter/source/dmapper/GraphicImport.cxx | 4 |
3 files changed, 10 insertions, 1 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 1fa3d39a9b9b..b3cae27dd228 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -3901,6 +3901,11 @@ StyleSheetTablePtr const & DomainMapper::GetStyleSheetTable( ) return m_pImpl->GetStyleSheetTable( ); } +SettingsTablePtr const & DomainMapper::GetSettingsTable() +{ + return m_pImpl->GetSettingsTable(); +} + GraphicZOrderHelper* DomainMapper::graphicZOrderHelper() { if (zOrderHelper == nullptr) diff --git a/writerfilter/source/dmapper/DomainMapper.hxx b/writerfilter/source/dmapper/DomainMapper.hxx index d84638f75840..34066b95cff1 100644 --- a/writerfilter/source/dmapper/DomainMapper.hxx +++ b/writerfilter/source/dmapper/DomainMapper.hxx @@ -22,6 +22,7 @@ #include <dmapper/DomainMapperFactory.hxx> #include "LoggedResources.hxx" #include "PropertyMap.hxx" +#include "SettingsTable.hxx" #include <com/sun/star/lang/XComponent.hpp> #include <com/sun/star/style/TabAlign.hpp> @@ -103,6 +104,7 @@ public: OUString getOrCreateCharStyle( PropertyValueVector_t& rCharProperties, bool bAlwaysCreate ); StyleSheetTablePtr const & GetStyleSheetTable( ); + SettingsTablePtr const & GetSettingsTable(); GraphicZOrderHelper* graphicZOrderHelper(); GraphicNamingHelper& GetGraphicNamingHelper(); diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index cf27a30c49f3..dde3e1adb3b7 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -625,7 +625,9 @@ void GraphicImport::lcl_attribute(Id nName, Value& rValue) case NS_ooxml::LN_CT_Anchor_locked: // 90990; - ignored break; case NS_ooxml::LN_CT_Anchor_layoutInCell: // 90991; - ignored - m_pImpl->bLayoutInCell = nIntValue != 0; + // Starting in MSO 2013, anchors are ALWAYS considered to be laid out in table cell. + m_pImpl->bLayoutInCell = nIntValue != 0 || + (m_pImpl->rDomainMapper.GetSettingsTable()->GetWordCompatibilityMode() > 14 && m_pImpl->rDomainMapper.IsInTable()); break; case NS_ooxml::LN_CT_Anchor_hidden: // 90992; - ignored break; |