diff options
Diffstat (limited to 'embeddedobj/source/general/intercept.cxx')
-rw-r--r-- | embeddedobj/source/general/intercept.cxx | 99 |
1 files changed, 50 insertions, 49 deletions
diff --git a/embeddedobj/source/general/intercept.cxx b/embeddedobj/source/general/intercept.cxx index 238f39704a33..9b1449cd9518 100644 --- a/embeddedobj/source/general/intercept.cxx +++ b/embeddedobj/source/general/intercept.cxx @@ -69,48 +69,48 @@ Interceptor::dispatch( beans::PropertyValue >& Arguments ) { osl::MutexGuard aGuard(m_aMutex); - if( m_pDocHolder ) + if( !m_pDocHolder ) + return; + + if(URL.Complete == m_aInterceptedURL[0]) + m_pDocHolder->GetEmbedObject()->SaveObject_Impl(); + else if(URL.Complete == m_aInterceptedURL[2] || + URL.Complete == m_aInterceptedURL[3] || + URL.Complete == m_aInterceptedURL[4]) { - if(URL.Complete == m_aInterceptedURL[0]) - m_pDocHolder->GetEmbedObject()->SaveObject_Impl(); - else if(URL.Complete == m_aInterceptedURL[2] || - URL.Complete == m_aInterceptedURL[3] || - URL.Complete == m_aInterceptedURL[4]) - { - try { - m_pDocHolder->GetEmbedObject()->changeState( embed::EmbedStates::RUNNING ); - } - catch( const uno::Exception& ) - { - } + try { + m_pDocHolder->GetEmbedObject()->changeState( embed::EmbedStates::RUNNING ); } - else if ( URL.Complete == m_aInterceptedURL[5] ) + catch( const uno::Exception& ) { - uno::Sequence< beans::PropertyValue > aNewArgs = Arguments; - sal_Int32 nInd = 0; - - while( nInd < aNewArgs.getLength() ) - { - if ( aNewArgs[nInd].Name == "SaveTo" ) - { - aNewArgs[nInd].Value <<= true; - break; - } - nInd++; - } + } + } + else if ( URL.Complete == m_aInterceptedURL[5] ) + { + uno::Sequence< beans::PropertyValue > aNewArgs = Arguments; + sal_Int32 nInd = 0; - if ( nInd == aNewArgs.getLength() ) + while( nInd < aNewArgs.getLength() ) + { + if ( aNewArgs[nInd].Name == "SaveTo" ) { - aNewArgs.realloc( nInd + 1 ); - aNewArgs[nInd].Name = "SaveTo"; aNewArgs[nInd].Value <<= true; + break; } + nInd++; + } - uno::Reference< frame::XDispatch > xDispatch = m_xSlaveDispatchProvider->queryDispatch( - URL, "_self", 0 ); - if ( xDispatch.is() ) - xDispatch->dispatch( URL, aNewArgs ); + if ( nInd == aNewArgs.getLength() ) + { + aNewArgs.realloc( nInd + 1 ); + aNewArgs[nInd].Name = "SaveTo"; + aNewArgs[nInd].Value <<= true; } + + uno::Reference< frame::XDispatch > xDispatch = m_xSlaveDispatchProvider->queryDispatch( + URL, "_self", 0 ); + if ( xDispatch.is() ) + xDispatch->dispatch( URL, aNewArgs ); } } @@ -167,26 +167,27 @@ Interceptor::addStatusListener( return; } - if(URL.Complete == m_aInterceptedURL[5]) - { // SaveAs - frame::FeatureStateEvent aStateEvent; - aStateEvent.FeatureURL.Complete = m_aInterceptedURL[5]; - aStateEvent.FeatureDescriptor = "SaveCopyTo"; - aStateEvent.IsEnabled = true; - aStateEvent.Requery = false; - aStateEvent.State <<= OUString("($3)"); - Control->statusChanged(aStateEvent); + if(URL.Complete != m_aInterceptedURL[5]) + return; - { - osl::MutexGuard aGuard(m_aMutex); - if(!m_pStatCL) - m_pStatCL.reset(new StatusChangeListenerContainer(m_aMutex)); - } +// SaveAs + frame::FeatureStateEvent aStateEvent; + aStateEvent.FeatureURL.Complete = m_aInterceptedURL[5]; + aStateEvent.FeatureDescriptor = "SaveCopyTo"; + aStateEvent.IsEnabled = true; + aStateEvent.Requery = false; + aStateEvent.State <<= OUString("($3)"); + Control->statusChanged(aStateEvent); - m_pStatCL->addInterface(URL.Complete,Control); - return; + { + osl::MutexGuard aGuard(m_aMutex); + if(!m_pStatCL) + m_pStatCL.reset(new StatusChangeListenerContainer(m_aMutex)); } + m_pStatCL->addInterface(URL.Complete,Control); + return; + } |