summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-07-05 10:52:29 +0100
committerCaolán McNamara <caolanm@redhat.com>2016-07-05 10:56:08 +0100
commit000263f799d4aa9ad21e63f474def55438ce601e (patch)
tree88c17af17822825da3bf4e840cd7dd19b35265bf /writerfilter
parent9106b326e69ac63807c60a43620f1d87bd70b406 (diff)
Resolves: tdf#100770 crash on loading specific docx
use same safeguards as RemoveLastParagraph does Change-Id: I43ed4eb28f44654054fd266bc464840af7014fea
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index f57c3d34af0e..be5559174203 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