summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2015-12-15 16:39:14 +0100
committerMichael Stahl <mstahl@redhat.com>2015-12-15 17:44:37 +0100
commite4a06fc983fd6a94a6138503c3fc94b567bc3a68 (patch)
treeebe1e8ed322dd2a0df46113fc5c3076ffc330947
parent8338e2783f223aec176a3f06f78abd7a60ea2e0a (diff)
sw: set a BaseURL when copying embedded objects
Turns out that SfxObjectShell::CreateShellID() will produce the SfxMedium's base URL if it exists, so EmbeddedObjectContainer::CopyAndGetEmbeddedObject() already has parameters, sw just needs to set them. Change-Id: I36cedfde4e7c2e25c43c66a30d8ca572f099ad69
-rw-r--r--comphelper/source/container/embeddedobjectcontainer.cxx3
-rw-r--r--sw/source/core/ole/ndole.cxx4
2 files changed, 4 insertions, 3 deletions
diff --git a/comphelper/source/container/embeddedobjectcontainer.cxx b/comphelper/source/container/embeddedobjectcontainer.cxx
index 21a2f9dd11c1..b813b96be0dd 100644
--- a/comphelper/source/container/embeddedobjectcontainer.cxx
+++ b/comphelper/source/container/embeddedobjectcontainer.cxx
@@ -696,7 +696,8 @@ uno::Reference < embed::XEmbeddedObject > EmbeddedObjectContainer::CopyAndGetEmb
// objects without persistence are not really stored by the method
if (xObj.is() && StoreEmbeddedObject(xObj, rName, true, rSrcShellID, rDestShellID))
{
- xResult = Get_Impl( rName, xObj);
+ assert(!rDestShellID.isEmpty() && !rDestShellID.startsWith("0x")); // assume that every shell has a base URL
+ xResult = Get_Impl(rName, xObj, &rDestShellID);
if ( !xResult.is() )
{
// this is a case when object has no real persistence
diff --git a/sw/source/core/ole/ndole.cxx b/sw/source/core/ole/ndole.cxx
index 8facbeec776b..6089e69ac6ad 100644
--- a/sw/source/core/ole/ndole.cxx
+++ b/sw/source/core/ole/ndole.cxx
@@ -439,8 +439,8 @@ SwContentNode* SwOLENode::MakeCopy( SwDoc* pDoc, const SwNodeIndex& rIdx ) const
pSrc->GetEmbeddedObjectContainer(),
pSrc->GetEmbeddedObjectContainer().GetEmbeddedObject( aOLEObj.aName ),
aNewName,
- OUString(),
- OUString());
+ SfxObjectShell::CreateShellID(pSrc),
+ SfxObjectShell::CreateShellID(pPersistShell));
SwOLENode* pOLENd = pDoc->GetNodes().MakeOLENode( rIdx, aNewName, GetAspect(),
pDoc->GetDfltGrfFormatColl(),