diff options
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/data/formulacell.cxx | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx index 57a7e647043c..fefde27b1269 100644 --- a/sc/source/core/data/formulacell.cxx +++ b/sc/source/core/data/formulacell.cxx @@ -3908,8 +3908,20 @@ ScFormulaCell::CompareState ScFormulaCell::CompareByTokenArray( ScFormulaCell& r // different OpCode values. case formula::svIndex: { - if (pThisTok->GetIndex() != pOtherTok->GetIndex() || pThisTok->GetSheet() != pOtherTok->GetSheet()) + if (pThisTok->GetIndex() != pOtherTok->GetIndex()) return NotEqual; + switch (pThisTok->GetOpCode()) + { + case ocTableRef: + // nothing, sheet value assumed as -1, silence + // ScTableRefToken::GetSheet() SAL_WARN about + // unhandled + ; + break; + default: // ocName, ocDBArea + if (pThisTok->GetSheet() != pOtherTok->GetSheet()) + return NotEqual; + } } break; default: |