summaryrefslogtreecommitdiff
path: root/scripting
diff options
context:
space:
mode:
Diffstat (limited to 'scripting')
-rw-r--r--scripting/source/basprov/basscript.cxx17
1 files changed, 9 insertions, 8 deletions
diff --git a/scripting/source/basprov/basscript.cxx b/scripting/source/basprov/basscript.cxx
index 98624b06593a..0d04732e4b09 100644
--- a/scripting/source/basprov/basscript.cxx
+++ b/scripting/source/basprov/basscript.cxx
@@ -225,11 +225,11 @@ namespace basprov
// call method
SbxVariableRef xReturn = new SbxVariable;
ErrCode nErr = SbxERR_OK;
- {
- // if it's a document-based script, temporarily reset ThisComponent to the script invocation context
- Any aOldThisComponent;
- if ( m_documentBasicManager && m_xDocumentScriptContext.is() )
- aOldThisComponent = m_documentBasicManager->SetGlobalUNOConstant( "ThisComponent", makeAny( m_xDocumentScriptContext ) );
+
+ // if it's a document-based script, temporarily reset ThisComponent to the script invocation context
+ Any aOldThisComponent;
+ if ( m_documentBasicManager && m_xDocumentScriptContext.is() )
+ aOldThisComponent = m_documentBasicManager->SetGlobalUNOConstant( "ThisComponent", makeAny( m_xDocumentScriptContext ) );
if ( m_caller.getLength() && m_caller[ 0 ].hasValue() )
{
@@ -239,9 +239,10 @@ namespace basprov
}
else
nErr = m_xMethod->Call( xReturn );
- if ( m_documentBasicManager && m_xDocumentScriptContext.is() )
- m_documentBasicManager->SetGlobalUNOConstant( "ThisComponent", aOldThisComponent );
- }
+
+ if ( m_documentBasicManager && m_xDocumentScriptContext.is() )
+ m_documentBasicManager->SetGlobalUNOConstant( "ThisComponent", aOldThisComponent );
+
if ( nErr != SbxERR_OK )
{
// TODO: throw InvocationTargetException ?