[Libreoffice-commits] core.git: Branch 'distro/collabora/cd-5.3-3.2' - sw/source

Caolán McNamara caolanm at redhat.com
Fri May 4 12:40:55 UTC 2018


 sw/source/filter/xml/xmltexti.cxx |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

New commits:
commit cc57a57d632f0d592063653f80a5616b4e6ee368
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue May 1 12:57:02 2018 +0100

    set Referer on link mediadescriptor
    
    to allow determining if the source document is from a trusted/untrusted
    location
    
    Reviewed-on: https://gerrit.libreoffice.org/53693
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    (cherry picked from commit cd25a97bbadc0a5c1fd6b0e8603c8b6ebd051926)
    
    Change-Id: I780568652d2ef0cc8543c27ba26289277b5d9d0c
    Reviewed-on: https://gerrit.libreoffice.org/53803
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    Tested-by: Mike Kaganski <mike.kaganski at collabora.com>
    (cherry picked from commit 2d87c267267530077a94c894bc619831b01d1c04)

diff --git a/sw/source/filter/xml/xmltexti.cxx b/sw/source/filter/xml/xmltexti.cxx
index 3cc7372f8986..a26e4f7640dc 100644
--- a/sw/source/filter/xml/xmltexti.cxx
+++ b/sw/source/filter/xml/xmltexti.cxx
@@ -575,17 +575,22 @@ uno::Reference< XPropertySet > SwXMLTextImportHelper::createAndInsertOOoLink(
 
         uno::Sequence< beans::PropertyValue > aMediaDescriptor( 1 );
         aMediaDescriptor[0].Name = "URL";
-        aMediaDescriptor[0].Value <<= OUString( aURLObj.GetMainURL( INetURLObject::DecodeMechanism::NONE ) );
-        if ( pDoc->GetDocShell() && pDoc->GetDocShell()->GetMedium() )
+        aMediaDescriptor[0].Value <<= aURLObj.GetMainURL( INetURLObject::DecodeMechanism::NONE );
+
+        if (SfxMedium* pMedium = pDoc->GetDocShell() ? pDoc->GetDocShell()->GetMedium() : nullptr)
         {
-            uno::Reference< task::XInteractionHandler > xInteraction =
-                                        pDoc->GetDocShell()->GetMedium()->GetInteractionHandler();
+            uno::Reference< task::XInteractionHandler > xInteraction = pMedium->GetInteractionHandler();
             if ( xInteraction.is() )
             {
                 aMediaDescriptor.realloc( 2 );
                 aMediaDescriptor[1].Name = "InteractionHandler";
                 aMediaDescriptor[1].Value <<= xInteraction;
             }
+
+            const auto nLen = aMediaDescriptor.getLength() + 1;
+            aMediaDescriptor.realloc(nLen);
+            aMediaDescriptor[nLen - 1].Name = "Referer";
+            aMediaDescriptor[nLen - 1].Value <<= pMedium->GetName();
         }
 
         uno::Reference < embed::XEmbeddedObject > xObj(


More information about the Libreoffice-commits mailing list