Hi, I have submitted a patch for review:
https://gerrit.libreoffice.org/2003 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/03/2003/1 fix for fdo#60065 squash errors trying to gain object for rhs ( where no object yet exists ( Change-Id: I81548d1c6a32f0445dc18e31c84c3df85163ed45 --- A basic/qa/basic_coverage/uno_struct_assign.vb M basic/source/runtime/step0.cxx 2 files changed, 25 insertions(+), 0 deletions(-) diff --git a/basic/qa/basic_coverage/uno_struct_assign.vb b/basic/qa/basic_coverage/uno_struct_assign.vb new file mode 100644 index 0000000..23812de --- /dev/null +++ b/basic/qa/basic_coverage/uno_struct_assign.vb @@ -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 diff --git a/basic/source/runtime/step0.cxx b/basic/source/runtime/step0.cxx index 5e41425..2388722 100644 --- a/basic/source/runtime/step0.cxx +++ b/basic/source/runtime/step0.cxx @@ -388,7 +388,17 @@ 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 ) ) -- To view, visit https://gerrit.libreoffice.org/2003 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I81548d1c6a32f0445dc18e31c84c3df85163ed45 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: libreoffice-4-0 Gerrit-Owner: Noel Power <noel.po...@suse.com> _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice