[Libreoffice-commits] core.git: include/sfx2 sfx2/source
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Mon May 11 13:09:19 UTC 2020
include/sfx2/objsh.hxx | 2 ++
sfx2/source/doc/objmisc.cxx | 31 ++++++++++++++-----------------
sfx2/source/notify/eventsupplier.cxx | 25 +------------------------
3 files changed, 17 insertions(+), 41 deletions(-)
New commits:
commit b55572c8abe2d01e5d8489b6ff32f72fa32bfea2
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon May 11 12:28:46 2020 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Mon May 11 15:08:34 2020 +0200
de-duplicate cut and paste function
Change-Id: I9569a10562e50ab5660a5638c518680c58fc97dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93961
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/include/sfx2/objsh.hxx b/include/sfx2/objsh.hxx
index 568b0397f43b..be90b2bfa18f 100644
--- a/include/sfx2/objsh.hxx
+++ b/include/sfx2/objsh.hxx
@@ -398,6 +398,8 @@ public:
static bool UnTrustedScript(const OUString& rScriptURL);
+ static bool isScriptAccessAllowed(const css::uno::Reference<css::uno::XInterface>& rScriptContext);
+
SvKeyValueIterator* GetHeaderAttributes();
void ClearHeaderAttributesForSourceViewHack();
void SetHeaderAttributesForSourceViewHack();
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
index 3bb958246670..e3e07dd5c306 100644
--- a/sfx2/source/doc/objmisc.cxx
+++ b/sfx2/source/doc/objmisc.cxx
@@ -1327,27 +1327,24 @@ ErrCode SfxObjectShell::CallBasic( const OUString& rMacro,
return nRet;
}
-namespace
+bool SfxObjectShell::isScriptAccessAllowed( const Reference< XInterface >& _rxScriptContext )
{
- bool lcl_isScriptAccessAllowed_nothrow( const Reference< XInterface >& _rxScriptContext )
+ try
{
- try
- {
- Reference< XEmbeddedScripts > xScripts( _rxScriptContext, UNO_QUERY );
- if ( !xScripts.is() )
- {
- Reference< XScriptInvocationContext > xContext( _rxScriptContext, UNO_QUERY_THROW );
- xScripts.set( xContext->getScriptContainer(), UNO_SET_THROW );
- }
-
- return xScripts->getAllowMacroExecution();
- }
- catch( const Exception& )
+ Reference< XEmbeddedScripts > xScripts( _rxScriptContext, UNO_QUERY );
+ if ( !xScripts.is() )
{
- DBG_UNHANDLED_EXCEPTION("sfx.doc");
+ Reference< XScriptInvocationContext > xContext( _rxScriptContext, UNO_QUERY_THROW );
+ xScripts.set( xContext->getScriptContainer(), UNO_SET_THROW );
}
- return false;
+
+ return xScripts->getAllowMacroExecution();
}
+ catch( const Exception& )
+ {
+ DBG_UNHANDLED_EXCEPTION("sfx.doc");
+ }
+ return false;
}
// don't allow LibreLogo to be used with our mouseover/etc dom-alike events
@@ -1392,7 +1389,7 @@ ErrCode SfxObjectShell::CallXScript( const Reference< XInterface >& _rxScriptCon
Any aException;
try
{
- if ( !lcl_isScriptAccessAllowed_nothrow( _rxScriptContext ) )
+ if (!isScriptAccessAllowed(_rxScriptContext))
return ERRCODE_IO_ACCESSDENIED;
if ( UnTrustedScript(_rScriptURL) )
diff --git a/sfx2/source/notify/eventsupplier.cxx b/sfx2/source/notify/eventsupplier.cxx
index a8a674d2f531..65a50da3ef75 100644
--- a/sfx2/source/notify/eventsupplier.cxx
+++ b/sfx2/source/notify/eventsupplier.cxx
@@ -151,29 +151,6 @@ sal_Bool SAL_CALL SfxEvents_Impl::hasElements()
return maEventNames.hasElements();
}
-namespace
-{
- bool lcl_isScriptAccessAllowed_nothrow(const uno::Reference<uno::XInterface>& rxScriptContext)
- {
- try
- {
- uno::Reference<document::XEmbeddedScripts> xScripts(rxScriptContext, uno::UNO_QUERY);
- if (!xScripts.is())
- {
- uno::Reference<document::XScriptInvocationContext> xContext(rxScriptContext, uno::UNO_QUERY_THROW);
- xScripts.set(xContext->getScriptContainer(), uno::UNO_SET_THROW);
- }
-
- return xScripts->getAllowMacroExecution();
- }
- catch( const uno::Exception& )
- {
- DBG_UNHANDLED_EXCEPTION("sfx.doc");
- }
- return false;
- }
-}
-
void SfxEvents_Impl::Execute( uno::Any const & aEventData, const document::DocumentEvent& aTrigger, SfxObjectShell* pDoc )
{
uno::Sequence < beans::PropertyValue > aProperties;
@@ -215,7 +192,7 @@ void SfxEvents_Impl::Execute( uno::Any const & aEventData, const document::Docum
if (!pDoc)
pDoc = SfxObjectShell::Current();
- if (pDoc && !lcl_isScriptAccessAllowed_nothrow(pDoc->GetModel()))
+ if (pDoc && !SfxObjectShell::isScriptAccessAllowed(pDoc->GetModel()))
return;
if (aType == STAR_BASIC)
More information about the Libreoffice-commits
mailing list