summaryrefslogtreecommitdiff
path: root/basic
diff options
context:
space:
mode:
authorAndreas Bregas <ab@openoffice.org>2010-06-25 08:57:06 +0200
committerAndreas Bregas <ab@openoffice.org>2010-06-25 08:57:06 +0200
commit5db01bbf8f1ef192cbd7c35695f517e3622e3913 (patch)
tree2d02fd4e86071114d5a55cb136843af3e8f4da58 /basic
parent64994694589f6706b6d48356859555381ab7b76a (diff)
mib17: #i110821# COM default member support
Diffstat (limited to 'basic')
-rwxr-xr-xbasic/source/classes/sb.cxx4
-rw-r--r--basic/source/runtime/step2.cxx7
2 files changed, 7 insertions, 4 deletions
diff --git a/basic/source/classes/sb.cxx b/basic/source/classes/sb.cxx
index 79c5f78601ea..924a3ef2807f 100755
--- a/basic/source/classes/sb.cxx
+++ b/basic/source/classes/sb.cxx
@@ -569,11 +569,13 @@ SbClassModuleObject::SbClassModuleObject( SbModule* pClassModule )
}
}
SetModuleType( ModuleType::CLASS );
+ mbVBACompat = pClassModule->mbVBACompat;
}
SbClassModuleObject::~SbClassModuleObject()
{
- triggerTerminateEvent();
+ if( StarBASIC::IsRunning() )
+ triggerTerminateEvent();
// Must be deleted by base class dtor because this data
// is not owned by the SbClassModuleObject object
diff --git a/basic/source/runtime/step2.cxx b/basic/source/runtime/step2.cxx
index 72ea67dd8db4..8e72fd2ac3c6 100644
--- a/basic/source/runtime/step2.cxx
+++ b/basic/source/runtime/step2.cxx
@@ -263,8 +263,10 @@ SbxVariable* SbiRuntime::FindElement
pElem = pNew;
}
// Index-Access bei UnoObjekten beruecksichtigen
- /*
- else if( pElem->ISA(SbUnoProperty) )
+ // definitely we want this for VBA where properties are often
+ // collections ( which need index access ), but lets only do
+ // this if we actually have params following
+ else if( bVBAEnabled && pElem->ISA(SbUnoProperty) && pElem->GetParameters() )
{
// pElem auf eine Ref zuweisen, um ggf. eine Temp-Var zu loeschen
SbxVariableRef refTemp = pElem;
@@ -274,7 +276,6 @@ SbxVariable* SbiRuntime::FindElement
pElem->SetParameters( NULL ); // sonst bleibt Ref auf sich selbst
pElem = pNew;
}
- */
}
return CheckArray( pElem );
}