summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2005-11-10 15:14:14 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2005-11-10 15:14:14 +0000
commit4493636b98ee73cd2f4fdbcc050d1852f1dc1b19 (patch)
tree56b745369e8ab86f86aa4332cec4dd7c701efc7b /sfx2
parent400e994cde19a46c7066ff238320afa45a153497 (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.cxx26
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& )