diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-06-12 17:02:12 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-06-13 09:50:53 +0100 |
commit | 2278e8f80e3d06829a120e57c38e36118f8778f1 (patch) | |
tree | cb2f11cea51809f87b1b6aaee533824fae93fa0e /basic | |
parent | 9a1298cf868bb82a0232e51dc7410ebf3a62b646 (diff) |
coverity#1213486 Uncaught exception
Change-Id: Ia4d919d88bf22168aa770ad35fd8360b0b155efe
Diffstat (limited to 'basic')
-rw-r--r-- | basic/source/uno/namecont.cxx | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/basic/source/uno/namecont.cxx b/basic/source/uno/namecont.cxx index 01250f47d300..49be779952c0 100644 --- a/basic/source/uno/namecont.cxx +++ b/basic/source/uno/namecont.cxx @@ -25,6 +25,7 @@ #include <com/sun/star/embed/ElementModes.hpp> #include <com/sun/star/embed/XTransactedObject.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> +#include <com/sun/star/ucb/ContentCreationException.hpp> #include <vcl/svapp.hxx> #include <osl/mutex.hxx> #include <tools/errinf.hxx> @@ -414,20 +415,27 @@ void SfxLibraryContainer::leaveMethod() maMutex.release(); } -BasicManager* SfxLibraryContainer::getBasicManager( void ) +BasicManager* SfxLibraryContainer::getBasicManager() { - if ( mpBasMgr ) + try { - return mpBasMgr; + if ( mpBasMgr ) + { + return mpBasMgr; + } + Reference< XModel > xDocument( mxOwnerDocument.get(), UNO_QUERY ); + SAL_WARN_IF( + !xDocument.is(), "basic", + ("SfxLibraryContainer::getBasicManager: cannot obtain a BasicManager" + " without document!")); + if ( xDocument.is() ) + { + mpBasMgr = BasicManagerRepository::getDocumentBasicManager( xDocument ); + } } - Reference< XModel > xDocument( mxOwnerDocument.get(), UNO_QUERY ); - SAL_WARN_IF( - !xDocument.is(), "basic", - ("SfxLibraryContainer::getBasicManager: cannot obtain a BasicManager" - " without document!")); - if ( xDocument.is() ) + catch (const css::ucb::ContentCreationException& e) { - mpBasMgr = BasicManagerRepository::getDocumentBasicManager( xDocument ); + SAL_WARN( "basic", "SfxLibraryContainer::getBasicManager : Caught exception: " << e.Message ); } return mpBasMgr; } |