summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-07-30 19:22:15 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2016-07-30 21:27:13 +0000
commitf6d67cd8dee9a06c221c60f2b5d926af5e46ee9a (patch)
treef620b8bdb6cfcdb04433021b65ae6c0c7188fa93 /writerfilter
parentd460db76504378ed7e0ec10cf3cdd9b5f2b354df (diff)
fftester: context stack check
(cherry picked from commit 2acc9d06291b3f271c2a88bb4995d52d2d8d2152) Change-Id: I4a135a9f9ac2f16f9dab096f5c234ff1d6e5e853 Reviewed-on: https://gerrit.libreoffice.org/27730 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-1.rtfbin0 -> 458 bytes
-rw-r--r--writerfilter/source/dmapper/DomainMapper.cxx7
2 files changed, 4 insertions, 3 deletions
diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-1.rtf
new file mode 100644
index 000000000000..7cdb94ab2c79
--- /dev/null
+++ b/writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-1.rtf
Binary files differ
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index 774bfa1d26a1..7a91ecfa8bba 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -3228,14 +3228,15 @@ void DomainMapper::lcl_utext(const sal_uInt8 * data_, size_t len)
// If the paragraph contains only the section properties and it has
// no runs, we should not create a paragraph for it in Writer, unless that would remove the whole section.
bool bRemove = !m_pImpl->GetParaChanged() && m_pImpl->GetParaSectpr() && !bSingleParagraph && !m_pImpl->GetIsDummyParaAddedForTableInSection();
- if (bRemove)
+ PropertyMapPtr xContext = bRemove ? m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH) : PropertyMapPtr();
+ if (xContext)
{
// tdf#97417 delete numbering of the paragraph
// it will be deleted anyway, and the numbering would be copied
// to the next paragraph in sw SplitNode and then be applied to
// every following paragraph
- m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH)->Erase(PROP_NUMBERING_RULES);
- m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH)->Erase(PROP_NUMBERING_LEVEL);
+ xContext->Erase(PROP_NUMBERING_RULES);
+ xContext->Erase(PROP_NUMBERING_LEVEL);
}
m_pImpl->SetParaSectpr(false);
m_pImpl->finishParagraph(m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH));