summaryrefslogtreecommitdiff
path: root/embeddedobj/source/commonembedding/miscobj.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'embeddedobj/source/commonembedding/miscobj.cxx')
-rw-r--r--embeddedobj/source/commonembedding/miscobj.cxx9
1 files changed, 9 insertions, 0 deletions
diff --git a/embeddedobj/source/commonembedding/miscobj.cxx b/embeddedobj/source/commonembedding/miscobj.cxx
index 97cc5d2d499b..e0ff1266921a 100644
--- a/embeddedobj/source/commonembedding/miscobj.cxx
+++ b/embeddedobj/source/commonembedding/miscobj.cxx
@@ -39,6 +39,7 @@
#include <cppuhelper/typeprovider.hxx>
#include <cppuhelper/interfacecontainer.h>
+#include <comphelper/mimeconfighelper.hxx>
#include "closepreventer.hxx"
#include "intercept.hxx"
@@ -240,6 +241,14 @@ void OCommonEmbeddedObject::LinkInit_Impl(
OSL_ENSURE( m_aLinkURL.getLength() && m_aLinkFilterName.getLength(), "Filter and URL must be provided!\n" );
+ m_bReadOnly = sal_True;
+ if ( m_aLinkFilterName.getLength() )
+ {
+ ::comphelper::MimeConfigurationHelper aHelper( m_xFactory );
+ ::rtl::OUString aExportFilterName = aHelper.GetExportFilterFromImportFilter( m_aLinkFilterName );
+ m_bReadOnly = !( aExportFilterName.equals( m_aLinkFilterName ) );
+ }
+
m_aDocMediaDescriptor = GetValuableArgs_Impl( aMediaDescr, sal_False );
uno::Reference< frame::XDispatchProviderInterceptor > xDispatchInterceptor;