summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-08-03 21:41:38 +0200
committerEike Rathke <erack@redhat.com>2016-08-03 21:52:41 +0200
commit3efcfc63eec7a75545e4f01fd15448744ad651fa (patch)
treeccbb4132c05831828180041bfaf966ea40c81236 /sc
parenteb798883fe0a6e2334f6af1d30623cb44a12b15f (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.cxx18
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