summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-12-08 11:24:14 +0000
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-12-08 19:46:04 +0000
commitdcc914ab55feb844d5d71e6568801fa1ffd47f6c (patch)
tree01359f4026cfa245882efe4ffc096f7fde62230f /writerfilter
parente9681cc74fcb84ebd9d3e68bef8d3158cfbe45eb (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.cxx11
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);
}