Resolves: tdf#155750 allow private:factory urls in floating frames
they create a new document so there isn't an associated location
which would trigger the prompt to allow it so just allow factory
urls
Change-Id: I7b693bcfe5ac04aaed06905637ab3c1eba43c51f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153316
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
index 1db2599..507256a 100644
--- a/sfx2/source/doc/iframe.cxx
+++ b/sfx2/source/doc/iframe.cxx
@@ -175,14 +175,18 @@ sal_Bool SAL_CALL IFrameObject::load(
uno::Reference<frame::XFramesSupplier> xParentFrame = xFrame->getCreator();
SfxObjectShell* pDoc = SfxMacroLoader::GetObjectShell(xParentFrame);
bool bUpdateAllowed(true);
if (pDoc)
const bool bIsFactoryURL = aTargetURL.Complete.startsWith("private:factory/");
if (!bIsFactoryURL)
{
comphelper::EmbeddedObjectContainer& rEmbeddedObjectContainer = pDoc->getEmbeddedObjectContainer();
bUpdateAllowed = rEmbeddedObjectContainer.getUserAllowsLinkUpdate();
bool bUpdateAllowed(true);
if (pDoc)
{
comphelper::EmbeddedObjectContainer& rEmbeddedObjectContainer = pDoc->getEmbeddedObjectContainer();
bUpdateAllowed = rEmbeddedObjectContainer.getUserAllowsLinkUpdate();
}
if (!bUpdateAllowed)
return false;
}
if (!bUpdateAllowed)
return false;
OUString sReferer;
if (pDoc && pDoc->HasName())