diff options
authorCaolán McNamara <>2017-03-01 17:24:21 +0000
committerCaolán McNamara <>2017-03-01 20:49:08 +0000
commit6f3e24ad64dd40b3ef8def7d879ba395a16874a1 (patch)
parented3b58dc67616c772f736e52b87fd9c84078b8db (diff)
Resolves: tdf#106261 throw away old node map for table
when generating a new one, otherwise on exporting the same table twice to two consecutive .doc footnotes will think the second export of the table is a level lower because it will find it in the map and WW8TableNodeInfo::Pointer_t WW8TableInfo::insertTableNodeInfo does pNodeInfo->setDepth(nDepth + pNodeInfo->getDepth()); using the cached pNodeInfo depth and not a new fresh pNodeInfo of depth 0 Change-Id: I7aa7ac6a19814910c1d19d78f04cfd9886c444c5
1 files changed, 8 insertions, 0 deletions
diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx
index 849f325e91fb..e3f5e1e18174 100644
--- a/sw/source/filter/ww8/wrtww8.cxx
+++ b/sw/source/filter/ww8/wrtww8.cxx
@@ -1824,8 +1824,16 @@ void MSWordExportBase::WriteSpecialText( sal_uLong nStart, sal_uLong nEnd, sal_u
// clear linked textboxes since old ones can't be linked to frames in this section
+ // tdf#106261 Reset table infos, otherwise the depth of the cells will be
+ // incorrect, in case the header/footer had table(s) and we try to export
+ // the same table second time.
+ ww8::WW8TableInfo::Pointer_t pOldTableInfo = m_pTableInfo;
+ m_pTableInfo = std::make_shared<ww8::WW8TableInfo>();
+ m_pTableInfo = pOldTableInfo;
m_bOutPageDescs = bOldPageDescs;
delete m_pCurPam; // delete Pam
m_pCurPam = pOldPam;