diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-07-05 10:52:29 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2016-07-08 09:48:32 +0200 |
commit | b2bf34141fdb41abfe421931dcfc093457f30d2d (patch) | |
tree | 44405534d2da397712d0271c2124e6243dadb9d2 /writerfilter | |
parent | 0a341d5e7a705ed0b779578eb2c11ffbad4c37d1 (diff) |
Resolves: tdf#100770 crash on loading specific docx
use same safeguards as RemoveLastParagraph does
Change-Id: I43ed4eb28f44654054fd266bc464840af7014fea
(cherry picked from commit 000263f799d4aa9ad21e63f474def55438ce601e)
Reviewed-on: https://gerrit.libreoffice.org/26944
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
(cherry picked from commit 57144fae2bd2296fe9a842ab87addf9dda5ff91a)
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.cxx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 1358e6dfa4e3..a1985b6bb082 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -328,7 +328,14 @@ void DomainMapper_Impl::RemoveDummyParaForTableInSection() SectionPropertyMap* pSectionContext = dynamic_cast< SectionPropertyMap* >( pContext.get() ); if (!pSectionContext) return; - uno::Reference< text::XTextCursor > xCursor = GetTopTextAppend()->createTextCursorByRange(pSectionContext->GetStartingRange()); + + if (m_aTextAppendStack.empty()) + return; + uno::Reference< text::XTextAppend > xTextAppend = m_aTextAppendStack.top().xTextAppend; + if (!xTextAppend.is()) + return; + + uno::Reference< text::XTextCursor > xCursor = xTextAppend->createTextCursorByRange(pSectionContext->GetStartingRange()); // Remove the extra NumPicBullets from the document, // which get attached to the first paragraph in the @@ -367,7 +374,7 @@ void DomainMapper_Impl::RemoveLastParagraph( ) { if (m_aTextAppendStack.empty()) return; - uno::Reference< text::XTextAppend > xTextAppend = m_aTextAppendStack.top().xTextAppend; + uno::Reference< text::XTextAppend > xTextAppend = m_aTextAppendStack.top().xTextAppend; if (!xTextAppend.is()) return; try |