summaryrefslogtreecommitdiff
path: root/embeddedobj/source/commonembedding
diff options
context:
space:
mode:
Diffstat (limited to 'embeddedobj/source/commonembedding')
-rw-r--r--embeddedobj/source/commonembedding/miscobj.cxx8
-rw-r--r--embeddedobj/source/commonembedding/persistence.cxx9
2 files changed, 16 insertions, 1 deletions
diff --git a/embeddedobj/source/commonembedding/miscobj.cxx b/embeddedobj/source/commonembedding/miscobj.cxx
index e88092981388..de1bee71c8a7 100644
--- a/embeddedobj/source/commonembedding/miscobj.cxx
+++ b/embeddedobj/source/commonembedding/miscobj.cxx
@@ -360,6 +360,11 @@ uno::Any SAL_CALL OCommonEmbeddedObject::queryInterface( const uno::Type& rType
void * p = static_cast< embed::XEmbeddedObject * >( this );
return uno::Any( &p, rType );
}
+ else if (rType == cppu::UnoType<embed::XEmbedPersist2>::get())
+ {
+ void* p = static_cast<embed::XEmbedPersist2*>(this);
+ return uno::Any(&p, rType);
+ }
else
aReturn <<= ::cppu::queryInterface(
rType,
@@ -428,7 +433,8 @@ uno::Sequence< uno::Type > SAL_CALL OCommonEmbeddedObject::getTypes()
cppu::UnoType<embed::XInplaceObject>::get(),
cppu::UnoType<embed::XCommonEmbedPersist>::get(),
cppu::UnoType<container::XChild>::get(),
- cppu::UnoType<embed::XEmbedPersist>::get());
+ cppu::UnoType<embed::XEmbedPersist>::get(),
+ cppu::UnoType<embed::XEmbedPersist2>::get());
pTypeCollection = &aTypeCollection ;
}
diff --git a/embeddedobj/source/commonembedding/persistence.cxx b/embeddedobj/source/commonembedding/persistence.cxx
index 5ef9253276b3..260cce01c40a 100644
--- a/embeddedobj/source/commonembedding/persistence.cxx
+++ b/embeddedobj/source/commonembedding/persistence.cxx
@@ -1790,6 +1790,15 @@ void SAL_CALL OCommonEmbeddedObject::reload(
}
}
+sal_Bool SAL_CALL OCommonEmbeddedObject::isStored() throw (css::uno::RuntimeException, std::exception)
+{
+ uno::Reference<container::XNameAccess> xNA(m_xObjectStorage, uno::UNO_QUERY);
+ if (!xNA.is())
+ return false;
+
+ return xNA->getElementNames().getLength() > 0;
+}
+
void SAL_CALL OCommonEmbeddedObject::breakLink( const uno::Reference< embed::XStorage >& xStorage,
const OUString& sEntName )