summaryrefslogtreecommitdiff
path: root/sw/source
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2016-09-28 15:35:26 +0200
committerMichael Stahl <mstahl@redhat.com>2016-09-28 15:50:33 +0200
commitebcbc970f8d0ecbba8c6d7e7c2a1b977d63bc2fb (patch)
tree373704434935866df002eab3971d6a2da22bd8b0 /sw/source
parentc9023860bbf2cc48c85a144eb7bb1f7d0a0fdd9f (diff)
tdf#102073: sw: do not create SwFootnoteNumPortion inside table
The SwTextFormatter::WhichFirstPortion() wants to create a new SwFootnoteNumPortion for the first paragraph in every cell, because it doesn't have mpPrev set and SwTextFrame::IsFootnoteNumFrame() is true, and somehow this even causes an infinite loop in the bugdoc because initially nothing more than the footnote number fits inside a line. Just detect that it's inside a table and return false then. Change-Id: I1f010f1242d53d9f99a4d3a4f6fc3cee65aa3958
Diffstat (limited to 'sw/source')
-rw-r--r--sw/source/core/text/txtftn.cxx2
1 files changed, 2 insertions, 0 deletions
diff --git a/sw/source/core/text/txtftn.cxx b/sw/source/core/text/txtftn.cxx
index 5c2e740191dd..ad523f65755d 100644
--- a/sw/source/core/text/txtftn.cxx
+++ b/sw/source/core/text/txtftn.cxx
@@ -57,6 +57,8 @@ using namespace ::com::sun::star;
bool SwTextFrame::IsFootnoteNumFrame_() const
{
+ if (IsInTab())
+ return false; // tdf#102073 first frame in cell doesn't have mpPrev set
const SwFootnoteFrame* pFootnote = FindFootnoteFrame()->GetMaster();
while( pFootnote && !pFootnote->ContainsContent() )
pFootnote = pFootnote->GetMaster();