diff options
author | Eike Rathke <erack@redhat.com> | 2016-08-03 21:41:38 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2016-08-03 21:52:41 +0200 |
commit | 3efcfc63eec7a75545e4f01fd15448744ad651fa (patch) | |
tree | ccbb4132c05831828180041bfaf966ea40c81236 /sc | |
parent | eb798883fe0a6e2334f6af1d30623cb44a12b15f (diff) |
Revert "Resolves: tdf#100637 narrow down the JumpMatrix path finish condition"
This reverts commit e54cd3fbf40300416ef337981bd356b88ad44a41.
It breaks other nested array IF expressions.
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/tool/interpr4.cxx | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx index 8c4dd5cc6bda..9f64ea04796e 100644 --- a/sc/source/core/tool/interpr4.cxx +++ b/sc/source/core/tool/interpr4.cxx @@ -4369,18 +4369,14 @@ StackVar ScInterpreter::Interpret() { if (nLevel == 1) aErrorFunctionStack.push( nErrorFunction); - // Restrict nLevel==1 to not prematurely discard a path result. - if (nLevel == 2 || (!aCode.HasStacked() || aCode.IsEndOfPath())) + bGotResult = JumpMatrix( nLevel ); + if (aErrorFunctionStack.empty()) + assert(!"ScInterpreter::Interpret - aErrorFunctionStack empty in JumpMatrix context"); + else { - bGotResult = JumpMatrix( nLevel ); - if (aErrorFunctionStack.empty()) - assert(!"ScInterpreter::Interpret - aErrorFunctionStack empty in JumpMatrix context"); - else - { - nErrorFunction = aErrorFunctionStack.top(); - if (bGotResult) - aErrorFunctionStack.pop(); - } + nErrorFunction = aErrorFunctionStack.top(); + if (bGotResult) + aErrorFunctionStack.pop(); } } else |