summaryrefslogtreecommitdiff
path: root/basic/source
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-06-12 17:02:12 +0100
committerCaolán McNamara <caolanm@redhat.com>2014-06-13 09:50:53 +0100
commit2278e8f80e3d06829a120e57c38e36118f8778f1 (patch)
treecb2f11cea51809f87b1b6aaee533824fae93fa0e /basic/source
parent9a1298cf868bb82a0232e51dc7410ebf3a62b646 (diff)
coverity#1213486 Uncaught exception
Change-Id: Ia4d919d88bf22168aa770ad35fd8360b0b155efe
Diffstat (limited to 'basic/source')
-rw-r--r--basic/source/uno/namecont.cxx28
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;
}