diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 183d71d5833a..e9d57ea34cef 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -977,8 +977,19 @@ void DomainMapper_Impl::PushSdt() } uno::Reference xTextAppend = m_aTextAppendStack.top().xTextAppend; + if (!xTextAppend.is()) + { + return; + } + + uno::Reference xText = xTextAppend->getText(); + if (!xText.is()) + { + return; + } + uno::Reference xCursor - = xTextAppend->getText()->createTextCursorByRange(xTextAppend->getEnd()); + = xText->createTextCursorByRange(xTextAppend->getEnd()); // Offset so the cursor is not adjusted as we import the SDT's content. bool bStart = !xCursor->goLeft(1, /*bExpand=*/false); m_xSdtStarts.push({bStart, OUString(), xCursor->getStart()});