diff options
author | RĂ¼diger Timm <rt@openoffice.org> | 2005-11-10 15:12:36 +0000 |
---|---|---|
committer | RĂ¼diger Timm <rt@openoffice.org> | 2005-11-10 15:12:36 +0000 |
commit | 9046907b956dd2f4835841a45a943e4d8340ceca (patch) | |
tree | 4da55e42d51c4cbad8ecd99e0d9ba233c8754b15 /embeddedobj/source/commonembedding/embedobj.cxx | |
parent | b6fe5f28ce62f247fd571913c9a58bc7c96876fd (diff) |
INTEGRATION: CWS stacks01 (1.14.14); FILE MERGED
2005/11/07 07:40:50 mav 1.14.14.1: #i57349# do not allow to change client site in active state
Diffstat (limited to 'embeddedobj/source/commonembedding/embedobj.cxx')
-rw-r--r-- | embeddedobj/source/commonembedding/embedobj.cxx | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/embeddedobj/source/commonembedding/embedobj.cxx b/embeddedobj/source/commonembedding/embedobj.cxx index e0a5eff4a1..2a4c0f60c4 100644 --- a/embeddedobj/source/commonembedding/embedobj.cxx +++ b/embeddedobj/source/commonembedding/embedobj.cxx @@ -4,9 +4,9 @@ * * $RCSfile: embedobj.cxx,v $ * - * $Revision: 1.14 $ + * $Revision: 1.15 $ * - * last change: $Author: rt $ $Date: 2005-09-08 18:34:10 $ + * last change: $Author: rt $ $Date: 2005-11-10 16:12:36 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -604,11 +604,15 @@ void SAL_CALL OCommonEmbeddedObject::setClientSite( if ( m_bDisposed ) throw lang::DisposedException(); // TODO - if ( m_nObjectState == -1 ) - throw embed::WrongStateException( ::rtl::OUString::createFromAscii( "The object has no persistence!\n" ), - uno::Reference< uno::XInterface >( reinterpret_cast< ::cppu::OWeakObject* >(this) ) ); + if ( m_xClientSite != xClient) + { + if ( m_nObjectState != embed::EmbedStates::LOADED && m_nObjectState != embed::EmbedStates::RUNNING ) + throw embed::WrongStateException( + ::rtl::OUString::createFromAscii( "The client site can not be set currently!\n" ), + uno::Reference< uno::XInterface >( reinterpret_cast< ::cppu::OWeakObject* >(this) ) ); - m_xClientSite = xClient; + m_xClientSite = xClient; + } } //---------------------------------------------- |