diff --git a/sw/source/uibase/uno/unotxdoc.cxx b/sw/source/uibase/uno/unotxdoc.cxx index 02c603cdddbf..f580db2a10cb 100644 --- a/sw/source/uibase/uno/unotxdoc.cxx +++ b/sw/source/uibase/uno/unotxdoc.cxx @@ -266,19 +266,16 @@ sal_Int64 SAL_CALL SwXTextDocument::getSomething( const Sequence< sal_Int8 >& rI } sal_Int64 nRet = SfxBaseModel::getSomething( rId ); - if ( nRet ) + if (nRet) return nRet; - else - { - GetNumberFormatter(); - Any aNumTunnel = xNumFmtAgg->queryAggregation(cppu::UnoType::get()); - Reference xNumTunnel; - aNumTunnel >>= xNumTunnel; - if(xNumTunnel.is()) - return xNumTunnel->getSomething(rId); - } - return SfxBaseModel::getSomething( rId ); + GetNumberFormatter(); + if (!xNumFmtAgg.is()) // may happen if not valid or no SwDoc + return 0; + Any aNumTunnel = xNumFmtAgg->queryAggregation(cppu::UnoType::get()); + Reference xNumTunnel; + aNumTunnel >>= xNumTunnel; + return (xNumTunnel.is()) ? xNumTunnel->getSomething(rId) : 0; } Any SAL_CALL SwXTextDocument::queryInterface( const uno::Type& rType ) throw(RuntimeException, std::exception)