[Libreoffice-commits] .: basic/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Mon Aug 27 02:53:56 PDT 2012
basic/source/runtime/step0.cxx | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
New commits:
commit 55899d7f5f3125ea2d4b1178065ffea80b3d2b50
Author: Noel Power <noel.power at suse.com>
Date: Mon Aug 27 10:51:42 2012 +0100
fix for fdo#54046
fix case where the value is neither uno object or unostruct
Change-Id: I2862ab23a875a691edb202bb9d334b000871f718
diff --git a/basic/source/runtime/step0.cxx b/basic/source/runtime/step0.cxx
index 0ddda8f..667a805 100644
--- a/basic/source/runtime/step0.cxx
+++ b/basic/source/runtime/step0.cxx
@@ -351,7 +351,13 @@ inline bool checkUnoStructCopy( bool bVBA, SbxVariableRef& refVal, SbxVariableRe
SbUnoObject* pUnoVal = PTR_CAST(SbUnoObject,(SbxObject*)xValObj);
SbUnoStructRefObject* pUnoStructVal = PTR_CAST(SbUnoStructRefObject,(SbxObject*)xValObj);
- Any aAny = pUnoVal ? pUnoVal->getUnoAny() : pUnoStructVal->getUnoAny();
+ Any aAny;
+ // make doubly sure value is either an Uno object or
+ // an uno struct
+ if ( pUnoVal || pUnoStructVal )
+ aAny = pUnoVal ? pUnoVal->getUnoAny() : pUnoStructVal->getUnoAny();
+ else
+ return false;
if ( aAny.getValueType().getTypeClass() == TypeClass_STRUCT )
{
refVar->SetType( SbxOBJECT );
More information about the Libreoffice-commits
mailing list