summaryrefslogtreecommitdiff
path: root/basic/source/runtime
diff options
context:
space:
mode:
authorNoel Power <noel.power@novell.com>2012-03-09 18:44:44 +0000
committerNoel Power <noel.power@novell.com>2012-03-09 18:48:36 +0000
commit7dafa7a3b14441c6a27ab051db01f53e2c434f0a (patch)
tree5020ac048737dada2d26b414279eead7b9781721 /basic/source/runtime
parentbee742eb7a0d5dfe23e61d9ee49a29286de90256 (diff)
fix error comparing a struct vs an uno prop containing a struct fdo#42819
hack to fix the scenario where sometimes we get "Object required" error when comparing an uno property containing a struct with another struct ( if that property is "MAYBEVOID" )
Diffstat (limited to 'basic/source/runtime')
-rw-r--r--basic/source/runtime/step1.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/basic/source/runtime/step1.cxx b/basic/source/runtime/step1.cxx
index d90d8aa79379..a598997b3540 100644
--- a/basic/source/runtime/step1.cxx
+++ b/basic/source/runtime/step1.cxx
@@ -459,10 +459,16 @@ bool SbiRuntime::checkClass_Impl( const SbxVariableRef& refVal,
bool bOk = bDefault;
SbxDataType t = refVal->GetType();
+ SbxVariable* pVal = (SbxVariable*)refVal;
+ // we don't know the type of uno properties that are (maybevoid)
+ if ( t == SbxEMPTY && refVal->ISA(SbUnoProperty) )
+ {
+ SbUnoProperty* pProp = (SbUnoProperty*)pVal;
+ t = pProp->getRealType();
+ }
if( t == SbxOBJECT )
{
SbxObject* pObj;
- SbxVariable* pVal = (SbxVariable*)refVal;
if( pVal->IsA( TYPE(SbxObject) ) )
pObj = (SbxObject*) pVal;
else