summaryrefslogtreecommitdiff
path: root/basic
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2006-04-07 13:04:37 +0000
committerVladimir Glazounov <vg@openoffice.org>2006-04-07 13:04:37 +0000
commitd27a819b47360142a2b984fc3cc2ab8628e91c18 (patch)
tree6329f7c2ccb0049e395ab0b934642d3c78d65798 /basic
parentdea82739c96f06252dab8f6c2422d3b0e1e248db (diff)
INTEGRATION: CWS ab19 (1.17.40); FILE MERGED
2006/03/03 10:47:14 ab 1.17.40.2: RESYNC: (1.17-1.18); FILE MERGED 2005/08/10 08:39:42 ab 1.17.40.1: #i30500# StepPARAM: Changed handling of missing variables
Diffstat (limited to 'basic')
-rw-r--r--basic/source/runtime/step2.cxx22
1 files changed, 12 insertions, 10 deletions
diff --git a/basic/source/runtime/step2.cxx b/basic/source/runtime/step2.cxx
index 596d9ebb1c64..8f2c21cadbc2 100644
--- a/basic/source/runtime/step2.cxx
+++ b/basic/source/runtime/step2.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: step2.cxx,v $
*
- * $Revision: 1.18 $
+ * $Revision: 1.19 $
*
- * last change: $Author: rt $ $Date: 2005-09-07 21:42:41 $
+ * last change: $Author: vg $ $Date: 2006-04-07 14:04:37 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -579,17 +579,19 @@ void SbiRuntime::StepPARAM( USHORT nOp1, USHORT nOp2 )
// #57915 Missing sauberer loesen
USHORT nParamCount = refParams->Count();
- // Wurden ueberhaupt genug Parameter uebergeben
if( i >= nParamCount )
{
- p = new SbxVariable();
- p->PutErr( 448 ); // Wie in VB: Error-Code 448 (SbERR_NAMED_NOT_FOUND)
- refParams->Put( p, i );
- }
- else
- {
- p = refParams->Get( i );
+ INT16 iLoop = i;
+ while( iLoop >= nParamCount )
+ {
+ p = new SbxVariable();
+ p->PutErr( 448 ); // Wie in VB: Error-Code 448 (SbERR_NAMED_NOT_FOUND)
+ refParams->Put( p, iLoop );
+ iLoop--;
+ }
}
+ p = refParams->Get( i );
+
if( p->GetType() == SbxERROR && ( i ) )
//if( p->GetType() == SbxEMPTY && ( i ) )
{