summaryrefslogtreecommitdiff
path: root/embeddedobj/source/commonembedding
diff options
context:
space:
mode:
Diffstat (limited to 'embeddedobj/source/commonembedding')
-rw-r--r--embeddedobj/source/commonembedding/embedobj.cxx31
-rw-r--r--embeddedobj/source/commonembedding/miscobj.cxx14
-rw-r--r--embeddedobj/source/commonembedding/persistence.cxx50
-rw-r--r--embeddedobj/source/commonembedding/xfactory.cxx5
4 files changed, 30 insertions, 70 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() )
diff --git a/embeddedobj/source/commonembedding/miscobj.cxx b/embeddedobj/source/commonembedding/miscobj.cxx
index 48da9abdeaf7..557e21e2646a 100644
--- a/embeddedobj/source/commonembedding/miscobj.cxx
+++ b/embeddedobj/source/commonembedding/miscobj.cxx
@@ -439,7 +439,7 @@ uno::Reference< util::XCloseable > SAL_CALL OCommonEmbeddedObject::getComponent(
static_cast< ::cppu::OWeakObject* >(this) );
}
- return uno::Reference< util::XCloseable >( m_xDocHolder->GetComponent(), uno::UNO_QUERY );
+ return m_xDocHolder->GetComponent();
}
@@ -550,15 +550,9 @@ void SAL_CALL OCommonEmbeddedObject::close( sal_Bool bDeliverOwnership )
// will use the storage, the storage will be disposed by the document and recreated by the object
if ( m_xObjectStorage.is() )
{
- uno::Reference< lang::XComponent > xComp( m_xObjectStorage, uno::UNO_QUERY );
- OSL_ENSURE( xComp.is(), "Storage does not support XComponent!" );
-
- if ( xComp.is() )
- {
- try {
- xComp->dispose();
- } catch ( const uno::Exception& ) {}
- }
+ try {
+ m_xObjectStorage->dispose();
+ } catch ( const uno::Exception& ) {}
m_xObjectStorage.clear();
m_xRecoveryStorage.clear();
diff --git a/embeddedobj/source/commonembedding/persistence.cxx b/embeddedobj/source/commonembedding/persistence.cxx
index cba1be7c4d19..b4a4de81f3c5 100644
--- a/embeddedobj/source/commonembedding/persistence.cxx
+++ b/embeddedobj/source/commonembedding/persistence.cxx
@@ -149,10 +149,8 @@ static uno::Reference< io::XInputStream > createTempInpStreamFromStor(
}
try {
- uno::Reference< lang::XComponent > xComponent( xTempStorage, uno::UNO_QUERY );
- SAL_WARN_IF( !xComponent.is(), "embeddedobj.common", "Wrong storage implementation!" );
- if ( xComponent.is() )
- xComponent->dispose();
+ if ( xTempStorage.is() )
+ xTempStorage->dispose();
}
catch ( const uno::Exception& )
{
@@ -252,9 +250,7 @@ void OCommonEmbeddedObject::SwitchOwnPersistence( const uno::Reference< embed::X
return;
}
- uno::Reference< lang::XComponent > xComponent( m_xObjectStorage, uno::UNO_QUERY );
- OSL_ENSURE( !m_xObjectStorage.is() || xComponent.is(), "Wrong storage implementation!" );
-
+ auto xOldObjectStorage = m_xObjectStorage;
m_xObjectStorage = xNewObjectStorage;
m_xParentStorage = xNewParentStorage;
m_aEntryName = aNewName;
@@ -268,8 +264,8 @@ void OCommonEmbeddedObject::SwitchOwnPersistence( const uno::Reference< embed::X
}
try {
- if ( xComponent.is() )
- xComponent->dispose();
+ if ( xOldObjectStorage.is() )
+ xOldObjectStorage->dispose();
}
catch ( const uno::Exception& )
{
@@ -348,12 +344,11 @@ uno::Reference< util::XCloseable > OCommonEmbeddedObject::InitNewDocument_Impl()
}
catch( const uno::Exception& )
{
- uno::Reference< util::XCloseable > xCloseable( xDocument, uno::UNO_QUERY );
- if ( xCloseable.is() )
+ if ( xDocument.is() )
{
try
{
- xCloseable->close( true );
+ xDocument->close( true );
}
catch( const uno::Exception& )
{
@@ -417,12 +412,11 @@ uno::Reference< util::XCloseable > OCommonEmbeddedObject::LoadLink_Impl()
}
catch( const uno::Exception& )
{
- uno::Reference< util::XCloseable > xCloseable( xDocument, uno::UNO_QUERY );
- if ( xCloseable.is() )
+ if ( xDocument.is() )
{
try
{
- xCloseable->close( true );
+ xDocument->close( true );
}
catch( const uno::Exception& )
{
@@ -549,12 +543,11 @@ uno::Reference< util::XCloseable > OCommonEmbeddedObject::LoadDocumentFromStorag
}
catch( const uno::Exception& )
{
- uno::Reference< util::XCloseable > xCloseable( xDocument, uno::UNO_QUERY );
- if ( xCloseable.is() )
+ if ( xDocument.is() )
{
try
{
- xCloseable->close( true );
+ xDocument->close( true );
}
catch( const uno::Exception& )
{
@@ -834,12 +827,11 @@ uno::Reference< util::XCloseable > OCommonEmbeddedObject::CreateDocFromMediaDesc
}
catch( const uno::Exception& )
{
- uno::Reference< util::XCloseable > xCloseable( xDocument, uno::UNO_QUERY );
- if ( xCloseable.is() )
+ if ( xDocument.is() )
{
try
{
- xCloseable->close( true );
+ xDocument->close( true );
}
catch( const uno::Exception& )
{
@@ -1456,10 +1448,7 @@ void SAL_CALL OCommonEmbeddedObject::saveCompleted( sal_Bool bUseNew )
else
{
try {
- uno::Reference< lang::XComponent > xComponent( m_xNewObjectStorage, uno::UNO_QUERY );
- SAL_WARN_IF( !xComponent.is(), "embeddedobj.common", "Wrong storage implementation!" );
- if ( xComponent.is() )
- xComponent->dispose();
+ m_xNewObjectStorage->dispose();
}
catch ( const uno::Exception& )
{
@@ -1740,10 +1729,8 @@ void SAL_CALL OCommonEmbeddedObject::reload(
{
// close own storage
try {
- uno::Reference< lang::XComponent > xComponent( m_xObjectStorage, uno::UNO_QUERY );
- OSL_ENSURE( !m_xObjectStorage.is() || xComponent.is(), "Wrong storage implementation!" );
- if ( xComponent.is() )
- xComponent->dispose();
+ if ( m_xObjectStorage.is() )
+ m_xObjectStorage->dispose();
}
catch ( const uno::Exception& )
{
@@ -1756,11 +1743,10 @@ void SAL_CALL OCommonEmbeddedObject::reload(
sal_Bool SAL_CALL OCommonEmbeddedObject::isStored()
{
- uno::Reference<container::XNameAccess> xNA(m_xObjectStorage, uno::UNO_QUERY);
- if (!xNA.is())
+ if (!m_xObjectStorage.is())
return false;
- return xNA->getElementNames().hasElements();
+ return m_xObjectStorage->getElementNames().hasElements();
}
diff --git a/embeddedobj/source/commonembedding/xfactory.cxx b/embeddedobj/source/commonembedding/xfactory.cxx
index ce36832027ba..856335181a98 100644
--- a/embeddedobj/source/commonembedding/xfactory.cxx
+++ b/embeddedobj/source/commonembedding/xfactory.cxx
@@ -100,9 +100,8 @@ uno::Reference< uno::XInterface > SAL_CALL OOoEmbeddedObjectFactory::createInsta
}
try {
- uno::Reference< lang::XComponent > xComp( xSubStorage, uno::UNO_QUERY );
- if ( xComp.is() )
- xComp->dispose();
+ if ( xSubStorage.is() )
+ xSubStorage->dispose();
}
catch ( const uno::Exception& )
{