summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/app/subcomponentmanager.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/source/ui/app/subcomponentmanager.cxx')
-rw-r--r--dbaccess/source/ui/app/subcomponentmanager.cxx9
1 files changed, 6 insertions, 3 deletions
diff --git a/dbaccess/source/ui/app/subcomponentmanager.cxx b/dbaccess/source/ui/app/subcomponentmanager.cxx
index 8ef4f77f20c7..a24fe29b5974 100644
--- a/dbaccess/source/ui/app/subcomponentmanager.cxx
+++ b/dbaccess/source/ui/app/subcomponentmanager.cxx
@@ -125,8 +125,9 @@ namespace dbaui
xModel.set( _rxComponent, UNO_QUERY );
if ( xModel.is() )
{
- xController.set( xModel->getCurrentController(), UNO_SET_THROW );
- xFrame.set( xController->getFrame(), UNO_SET_THROW );
+ xController.set( xModel->getCurrentController() );
+ if ( xController.is() )
+ xFrame.set( xController->getFrame(), UNO_SET_THROW );
}
else
{
@@ -468,13 +469,15 @@ namespace dbaui
// put into map
SubComponentAccessor aKey( _rName, _nComponentType, _eOpenMode );
SubComponentDescriptor aElement( _rxComponent );
+ ENSURE_OR_THROW( aElement.xModel.is() || aElement.xController.is(), "illegal component" );
m_pData->m_aComponents.insert( SubComponentMap::value_type(
aKey, aElement
) ) ;
// add as listener
- aElement.xController->addEventListener( this );
+ if ( aElement.xController.is() )
+ aElement.xController->addEventListener( this );
if ( aElement.xModel.is() )
aElement.xModel->addEventListener( this );