diff options
author | Vladimir Glazunov <vg@openoffice.org> | 2009-12-14 10:26:21 +0100 |
---|---|---|
committer | Vladimir Glazunov <vg@openoffice.org> | 2009-12-14 10:26:21 +0100 |
commit | 7fef57f108fe4f219773d5511040bd166ee0a01c (patch) | |
tree | edda7cbcc353abe521d7edf9c80037626106b9a8 /oox | |
parent | 2d70857a265764150d701865f648fff4b6951c39 (diff) | |
parent | ebb5afcbe3383bd18c0562500bec029bf9ea687d (diff) |
CWS-TOOLING: integrate CWS os139_DEV300
Notes
split repo tag: filters_ooo/DEV300_m68
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/xls/formulabase.cxx | 9 |
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; |