From 2278e8f80e3d06829a120e57c38e36118f8778f1 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Thu, 12 Jun 2014 17:02:12 +0100 Subject: coverity#1213486 Uncaught exception Change-Id: Ia4d919d88bf22168aa770ad35fd8360b0b155efe --- basic/source/uno/namecont.cxx | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'basic') 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 #include #include +#include #include #include #include @@ -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; } -- cgit