diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-4.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-4.rtf new file mode 100644 index 000000000000..28093f25a6c5 Binary files /dev/null and b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-4.rtf differ diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 1d22fa4fb274..64e650a8741b 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -1034,7 +1034,7 @@ void DomainMapper_Impl::finishParagraph( const PropertyMapPtr& pPropertyMap ) TagLogger::getInstance().attribute("isTextAppend", sal_uInt32(xTextAppend.is())); #endif - if (xTextAppend.is() && pParaContext != nullptr && !getTableManager().isIgnore()) + if (xTextAppend.is() && pParaContext && hasTableManager() && !getTableManager().isIgnore()) { try { @@ -4198,7 +4198,7 @@ void DomainMapper_Impl::CloseFieldCommand() */ OUString aCode( pContext->GetCommand().trim() ); // Don't waste resources on wrapping shapes inside a fieldmark. - if (aCode != "SHAPE") + if (aCode != "SHAPE" && m_xTextFactory.is()) { xFieldInterface = m_xTextFactory->createInstance("com.sun.star.text.Fieldmark"); const uno::Reference xTextContent(xFieldInterface, uno::UNO_QUERY_THROW);