[Libreoffice-commits] core.git: Branch 'libreoffice-6-0' - sc/source

Vasily Melenchuk Vasily.Melenchuk at cib.de
Tue Jan 30 09:45:45 UTC 2018


 sc/source/ui/docshell/externalrefmgr.cxx |    9 +++++++++
 1 file changed, 9 insertions(+)

New commits:
commit cef36cbbeafa9d7899bfb9c2404dec253cc86ee2
Author: Vasily Melenchuk <Vasily.Melenchuk at cib.de>
Date:   Tue Jan 23 13:59:01 2018 +0300

    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 at libreoffice.org>
    Reviewed-by: Eike Rathke <erack at redhat.com>
    (cherry picked from commit 8b98991a66197a71953dbb900dc3aece6b4f9e3a)
    Reviewed-on: https://gerrit.libreoffice.org/48869
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx
index 9cee85bee434..480046766557 100644
--- a/sc/source/ui/docshell/externalrefmgr.cxx
+++ b/sc/source/ui/docshell/externalrefmgr.cxx
@@ -2368,6 +2368,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)


More information about the Libreoffice-commits mailing list