fix for fdo#60065
squash errors trying to gain object for rhs ( where no object yet exists ( Change-Id: I81548d1c6a32f0445dc18e31c84c3df85163ed45
This commit is contained in:
15
basic/qa/basic_coverage/uno_struct_assign.vb
Normal file
15
basic/qa/basic_coverage/uno_struct_assign.vb
Normal file
@@ -0,0 +1,15 @@
|
||||
'
|
||||
' This file is part of the LibreOffice project.
|
||||
'
|
||||
' This Source Code Form is subject to the terms of the Mozilla Public
|
||||
' License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
' file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
'
|
||||
|
||||
|
||||
Function doUnitTest as Integer
|
||||
Dim oNamedValue as new com.sun.star.beans.NamedValue
|
||||
Dim oCellAddress as new com.sun.star.table.CellAddress
|
||||
oNamedValue.Value = oCellAddress ' fdo#60065 - this would throw an error
|
||||
doUnitTest = 1
|
||||
End Function
|
@@ -388,7 +388,17 @@ inline bool checkUnoStructCopy( bool bVBA, SbxVariableRef& refVal, SbxVariableRe
|
||||
if ( aAny.getValueType().getTypeClass() == TypeClass_STRUCT )
|
||||
{
|
||||
refVar->SetType( SbxOBJECT );
|
||||
SbxError eOldErr = refVar->GetError();
|
||||
// There are some circumstances when calling GetObject
|
||||
// will trigger an error, we need to squash those here.
|
||||
// Alternatively it is possible that the same scenario
|
||||
// could overwrite and existing error. Lets prevent that
|
||||
SbxObjectRef xVarObj = (SbxObject*)refVar->GetObject();
|
||||
if ( eOldErr != SbxERR_OK )
|
||||
refVar->SetError( eOldErr );
|
||||
else
|
||||
refVar->ResetError();
|
||||
|
||||
SbUnoStructRefObject* pUnoStructObj = PTR_CAST(SbUnoStructRefObject,(SbxObject*)xVarObj);
|
||||
|
||||
if ( ( !pUnoVal && !pUnoStructVal ) )
|
||||
|
Reference in New Issue
Block a user