summaryrefslogtreecommitdiff
path: root/embeddedobj/source/commonembedding/embedobj.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'embeddedobj/source/commonembedding/embedobj.cxx')
-rw-r--r--embeddedobj/source/commonembedding/embedobj.cxx31
1 files changed, 6 insertions, 25 deletions
diff --git a/embeddedobj/source/commonembedding/embedobj.cxx b/embeddedobj/source/commonembedding/embedobj.cxx
index 8c888df48a9e..a34020d354e1 100644
--- a/embeddedobj/source/commonembedding/embedobj.cxx
+++ b/embeddedobj/source/commonembedding/embedobj.cxx
@@ -174,32 +174,13 @@ void OCommonEmbeddedObject::SwitchStateTo_Impl( sal_Int32 nNextState )
}
else
{
- uno::Reference < embed::XEmbedPersist > xPersist( static_cast < embed::XClassifiedObject* > (this), uno::UNO_QUERY );
- if ( xPersist.is() )
- {
- // in case embedded object is in loaded state the contents must
- // be stored in the related storage and the storage
- // must be created already
- if ( !m_xObjectStorage.is() )
- throw io::IOException(); //TODO: access denied
+ // in case embedded object is in loaded state the contents must
+ // be stored in the related storage and the storage
+ // must be created already
+ if ( !m_xObjectStorage.is() )
+ throw io::IOException(); //TODO: access denied
- m_xDocHolder->SetComponent( LoadDocumentFromStorage_Impl(), m_bReadOnly );
- }
- else
- {
- // objects without persistence will be initialized internally
- uno::Sequence < uno::Any > aArgs(1);
- aArgs[0] <<= uno::Reference < embed::XEmbeddedObject >( this );
- uno::Reference< util::XCloseable > xDocument(
- m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext( GetDocumentServiceName(), aArgs, m_xContext),
- uno::UNO_QUERY );
-
- uno::Reference < container::XChild > xChild( xDocument, uno::UNO_QUERY );
- if ( xChild.is() )
- xChild->setParent( m_xParent );
-
- m_xDocHolder->SetComponent( xDocument, m_bReadOnly );
- }
+ m_xDocHolder->SetComponent( LoadDocumentFromStorage_Impl(), m_bReadOnly );
}
if ( !m_xDocHolder->GetComponent().is() )