diff options
author | Noel Power <noel.power@novell.com> | 2012-03-09 18:44:44 +0000 |
---|---|---|
committer | Noel Power <noel.power@novell.com> | 2012-03-09 18:48:36 +0000 |
commit | 7dafa7a3b14441c6a27ab051db01f53e2c434f0a (patch) | |
tree | 5020ac048737dada2d26b414279eead7b9781721 /basic/source/runtime | |
parent | bee742eb7a0d5dfe23e61d9ee49a29286de90256 (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.cxx | 8 |
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 |