diff options
author | Rüdiger Timm <rt@openoffice.org> | 2005-11-10 15:14:14 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2005-11-10 15:14:14 +0000 |
commit | 4493636b98ee73cd2f4fdbcc050d1852f1dc1b19 (patch) | |
tree | 56b745369e8ab86f86aa4332cec4dd7c701efc7b /sfx2 | |
parent | 400e994cde19a46c7066ff238320afa45a153497 (diff) |
INTEGRATION: CWS stacks01 (1.15.62); FILE MERGED
2005/11/07 07:53:44 mav 1.15.62.1: #i57349# do not all allow to change the client in active state
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/view/ipclient.cxx | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/sfx2/source/view/ipclient.cxx b/sfx2/source/view/ipclient.cxx index bed158ca0ebf..56a91214d0d8 100644 --- a/sfx2/source/view/ipclient.cxx +++ b/sfx2/source/view/ipclient.cxx @@ -4,9 +4,9 @@ * * $RCSfile: ipclient.cxx,v $ * - * $Revision: 1.15 $ + * $Revision: 1.16 $ * - * last change: $Author: rt $ $Date: 2005-09-07 19:27:45 $ + * last change: $Author: rt $ $Date: 2005-11-10 16:14:14 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -800,7 +800,14 @@ void SfxInPlaceClient::SetObject( const uno::Reference < embed::XEmbeddedObject SetObjectState( embed::EmbedStates::RUNNING ); m_pImp->m_xObject->removeEventListener( uno::Reference < document::XEventListener >( m_pImp->m_xClient, uno::UNO_QUERY ) ); m_pImp->m_xObject->removeStateChangeListener( uno::Reference < embed::XStateChangeListener >( m_pImp->m_xClient, uno::UNO_QUERY ) ); - m_pImp->m_xObject->setClientSite( 0 ); + try + { + m_pImp->m_xObject->setClientSite( 0 ); + } + catch( uno::Exception& ) + { + OSL_ENSURE( sal_False, "Can not clean the client site!\n" ); + } } } @@ -816,7 +823,16 @@ void SfxInPlaceClient::SetObject( const uno::Reference < embed::XEmbeddedObject // to be activated rObject->addStateChangeListener( uno::Reference < embed::XStateChangeListener >( m_pImp->m_xClient, uno::UNO_QUERY ) ); rObject->addEventListener( uno::Reference < document::XEventListener >( m_pImp->m_xClient, uno::UNO_QUERY ) ); - rObject->setClientSite( m_pImp->m_xClient ); + + try + { + rObject->setClientSite( m_pImp->m_xClient ); + } + catch( uno::Exception& ) + { + OSL_ENSURE( sal_False, "Can not set the client site!\n" ); + } + m_pImp->m_aTimer.Start(); } else @@ -1003,6 +1019,8 @@ ErrCode SfxInPlaceClient::DoVerb( long nVerb ) { try { + m_pImp->m_xObject->setClientSite( m_pImp->m_xClient ); + m_pImp->m_xObject->doVerb( nVerb ); } catch ( embed::UnreachableStateException& ) |