summaryrefslogtreecommitdiff
path: root/writerfilter/source
diff options
context:
space:
mode:
Diffstat (limited to 'writerfilter/source')
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx5
-rw-r--r--writerfilter/source/dmapper/DomainMapper.hxx2
-rw-r--r--writerfilter/source/dmapper/GraphicImport.cxx4
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;