summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
authorMathias Bauer <mba@openoffice.org>2010-01-05 14:46:45 +0100
committerMathias Bauer <mba@openoffice.org>2010-01-05 14:46:45 +0100
commit540823900876a366850fbf49f54de1f1067f7656 (patch)
tree97e2ad9d5a005c4b9339b22a8d3e316aefe5044e /oox
parent0efdf17a7c48fe697789166e7f59af5d6a7291a1 (diff)
parent7fef57f108fe4f219773d5511040bd166ee0a01c (diff)
merge commit for m68
Diffstat (limited to 'oox')
-rw-r--r--oox/source/xls/formulabase.cxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/oox/source/xls/formulabase.cxx b/oox/source/xls/formulabase.cxx
index 5240960f7a88..67c595d2b9f0 100644
--- a/oox/source/xls/formulabase.cxx
+++ b/oox/source/xls/formulabase.cxx
@@ -1655,13 +1655,16 @@ void FormulaProcessorBase::extractCellRangeList( ApiCellRangeList& orRanges,
sal_Int32 nOpCode = aIt->OpCode;
switch( eState )
{
+ // #i107275# accept OPCODE_SEP and OPCODE_LIST as separator token
case STATE_REF:
- if( nOpCode == OPCODE_LIST ) eState = STATE_SEP;
+ if( nOpCode == OPCODE_SEP ) eState = STATE_SEP;
+ else if( nOpCode == OPCODE_LIST ) eState = STATE_SEP;
else if( nOpCode == OPCODE_CLOSE ) eState = lclProcessClose( nParenLevel );
else eState = STATE_ERROR;
break;
case STATE_SEP:
if( nOpCode == OPCODE_PUSH ) eState = lclProcessRef( orRanges, aIt->Data, bAllowRelative, nFilterBySheet );
+ else if( nOpCode == OPCODE_SEP ) eState = STATE_SEP;
else if( nOpCode == OPCODE_LIST ) eState = STATE_SEP;
else if( nOpCode == OPCODE_OPEN ) eState = lclProcessOpen( nParenLevel );
else if( nOpCode == OPCODE_CLOSE ) eState = lclProcessClose( nParenLevel );
@@ -1669,13 +1672,15 @@ void FormulaProcessorBase::extractCellRangeList( ApiCellRangeList& orRanges,
break;
case STATE_OPEN:
if( nOpCode == OPCODE_PUSH ) eState = lclProcessRef( orRanges, aIt->Data, bAllowRelative, nFilterBySheet );
+ else if( nOpCode == OPCODE_SEP ) eState = STATE_SEP;
else if( nOpCode == OPCODE_LIST ) eState = STATE_SEP;
else if( nOpCode == OPCODE_OPEN ) eState = lclProcessOpen( nParenLevel );
else if( nOpCode == OPCODE_CLOSE ) eState = lclProcessClose( nParenLevel );
else eState = STATE_ERROR;
break;
case STATE_CLOSE:
- if( nOpCode == OPCODE_LIST ) eState = STATE_SEP;
+ if( nOpCode == OPCODE_SEP ) eState = STATE_SEP;
+ else if( nOpCode == OPCODE_LIST ) eState = STATE_SEP;
else if( nOpCode == OPCODE_CLOSE ) eState = lclProcessClose( nParenLevel );
else eState = STATE_ERROR;
break;