diff options
author | Vasily Melenchuk <Vasily.Melenchuk@cib.de> | 2018-01-23 13:59:01 +0300 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2018-01-30 01:20:25 +0100 |
commit | 8b98991a66197a71953dbb900dc3aece6b4f9e3a (patch) | |
tree | 973f59fce78fd7be4f62fdc7e5dbd65654048dc4 /sc | |
parent | 25399354e327f09360766f16d446b6c02c92d045 (diff) |
tdf#115044: do not load external documents if it is not allowed
Referenced external document data can be loaded after user
permission from dialog or corresponding settings.
Change-Id: If3aec37c8bbdee4aebeb99c7807e87c26df8e592
Reviewed-on: https://gerrit.libreoffice.org/48398
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/ui/docshell/externalrefmgr.cxx | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx index 561d1c6fc60b..9af84ece7e3d 100644 --- a/sc/source/ui/docshell/externalrefmgr.cxx +++ b/sc/source/ui/docshell/externalrefmgr.cxx @@ -2365,6 +2365,15 @@ ScDocument* ScExternalRefManager::getInMemorySrcDocument(sal_uInt16 nFileId) if (!pFileName) return nullptr; + // Do not load document until it was allowed + SfxObjectShell* pDocShell = mpDoc->GetDocumentShell(); + if ( pDocShell ) + { + const comphelper::EmbeddedObjectContainer& rContainer = pDocShell->GetEmbeddedObjectContainer(); + if ( !rContainer.getUserAllowsLinkUpdate() ) + return nullptr; + } + ScDocument* pSrcDoc = nullptr; ScDocShell* pShell = static_cast<ScDocShell*>(SfxObjectShell::GetFirst(checkSfxObjectShell<ScDocShell>, false)); while (pShell) |