diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-12-08 11:24:14 +0000 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-12-08 19:46:04 +0000 |
commit | dcc914ab55feb844d5d71e6568801fa1ffd47f6c (patch) | |
tree | 01359f4026cfa245882efe4ffc096f7fde62230f /writerfilter | |
parent | e9681cc74fcb84ebd9d3e68bef8d3158cfbe45eb (diff) |
Resolves: fdo#86662 don't crash on docx load
ok in master, so just don't crash in 4-3 series
Change-Id: I2dcb7b0434341ff8058bdbdfc065ad08bd0600bc
Reviewed-on: https://gerrit.libreoffice.org/13374
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.cxx | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 165474463f76..bc4ff520b782 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -3952,10 +3952,13 @@ void DomainMapper_Impl::CloseFieldCommand() OUString aCode( pContext->GetCommand().trim() ); xFieldInterface = m_xTextFactory->createInstance("com.sun.star.text.Fieldmark"); const uno::Reference<text::XTextContent> xTextContent(xFieldInterface, uno::UNO_QUERY_THROW); - uno::Reference< text::XTextAppend > xTextAppend; - xTextAppend = m_aTextAppendStack.top().xTextAppend; - uno::Reference< text::XTextCursor > xCrsr = xTextAppend->createTextCursorByRange(pContext->GetStartRange()); - if (xTextContent.is()) + uno::Reference< text::XTextAppend > xTextAppend; + if (!m_aTextAppendStack.empty()) + xTextAppend = m_aTextAppendStack.top().xTextAppend; + uno::Reference< text::XTextCursor > xCrsr; + if (xTextAppend.is()) + xCrsr = xTextAppend->createTextCursorByRange(pContext->GetStartRange()); + if (xTextAppend.is() && xTextContent.is()) { xTextAppend->insertTextContent(xCrsr,xTextContent, sal_True); } |