summaryrefslogtreecommitdiff
path: root/scripting/source/runtimemgr/ScriptNameResolverImpl.cxx
diff options
context:
space:
mode:
authorDuncan Foster <dfoster@openoffice.org>2003-01-28 16:09:27 +0000
committerDuncan Foster <dfoster@openoffice.org>2003-01-28 16:09:27 +0000
commiteeb504ffcd3e5c9861adf5597c99bd22f52ddc81 (patch)
tree10ea22b20e6d8a8a4ce0315c693b3abc29528ed3 /scripting/source/runtimemgr/ScriptNameResolverImpl.cxx
parent870638f3a5db7ccecd5a5338b59bcbb9d130e63c (diff)
*** empty log message ***
Diffstat (limited to 'scripting/source/runtimemgr/ScriptNameResolverImpl.cxx')
-rw-r--r--scripting/source/runtimemgr/ScriptNameResolverImpl.cxx17
1 files changed, 9 insertions, 8 deletions
diff --git a/scripting/source/runtimemgr/ScriptNameResolverImpl.cxx b/scripting/source/runtimemgr/ScriptNameResolverImpl.cxx
index 99c9241a641f..5f29a2205271 100644
--- a/scripting/source/runtimemgr/ScriptNameResolverImpl.cxx
+++ b/scripting/source/runtimemgr/ScriptNameResolverImpl.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: ScriptNameResolverImpl.cxx,v $
*
- * $Revision: 1.14 $
+ * $Revision: 1.15 $
*
- * last change: $Author: npower $ $Date: 2003-01-28 11:52:16 $
+ * last change: $Author: dfoster $ $Date: 2003-01-28 17:09:24 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -210,7 +210,7 @@ throw ( lang::IllegalArgumentException, script::CannotConvertException, RuntimeE
{
OSL_TRACE( "** about to resolve from storage using id %d from vector of size %d",
*iter, m_vSearchIDs.size() );
- if ( ( resolvedName = resolveURIFromStorageID( *iter, scriptURI ) ).is() )
+ if ( ( resolvedName = resolveURIFromStorageID( *iter, docUri, scriptURI ) ).is() )
{
OSL_TRACE( "found match in uri from storage %d", *iter );
xPropSetScriptingContext->setPropertyValue(
@@ -303,7 +303,8 @@ throw( RuntimeException )
Reference< storage::XScriptInfo >
ScriptNameResolverImpl::resolveURIFromStorageID
-( sal_Int32 sid, const ::rtl::OUString& scriptURI )
+( sal_Int32 sid, const ::rtl::OUString & docURI,
+ const ::rtl::OUString& scriptURI )
SAL_THROW ( ( lang::IllegalArgumentException, RuntimeException ) )
{
Reference< storage::XScriptInfo > resolvedScriptInfo;
@@ -316,7 +317,7 @@ SAL_THROW ( ( lang::IllegalArgumentException, RuntimeException ) )
}
try
{
- Reference< storage::XScriptInfoAccess > storage = getStorageInstance( sid );
+ Reference< storage::XScriptInfoAccess > storage = getStorageInstance( sid, docURI );
validateXRef( storage,
"ScriptNameResolverImpl::resolveURIFromStorageID: cannot get XScriptInfoAccess" );
Sequence< Reference< storage::XScriptInfo > > results =
@@ -395,7 +396,8 @@ SAL_THROW ( ( lang::IllegalArgumentException, RuntimeException ) )
Reference< storage::XScriptInfoAccess >
-ScriptNameResolverImpl::getStorageInstance( sal_Int32 sid ) SAL_THROW ( ( RuntimeException ) )
+ScriptNameResolverImpl::getStorageInstance( sal_Int32 sid,
+const ::rtl::OUString & docURI ) SAL_THROW ( ( RuntimeException ) )
{
Reference< storage::XScriptInfoAccess > xScriptInfoAccess;
try
@@ -422,8 +424,7 @@ ScriptNameResolverImpl::getStorageInstance( sal_Int32 sid ) SAL_THROW ( ( Runtim
// we need to check the permission
if( ( sid != scriptingConstantsPool.USER_STORAGE_ID ) &&
( sid != scriptingConstantsPool.SHARED_STORAGE_ID ) &&
- ( xScriptSecurity->checkPermission( Reference<
- storage::XScriptInfo> (),
+ ( xScriptSecurity->checkPermission( docURI,
OUString::createFromAscii( "execute" ) ) == false ) )
{
OSL_TRACE( "ScriptNameResolverImpl::getStorageInstance: no permission for ID=%d", sid );