summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Kosiorek <gang65@poczta.onet.pl>2018-02-06 02:10:14 +0100
committerBartosz Kosiorek <gang65@poczta.onet.pl>2018-02-06 14:46:22 +0100
commitd4a41817aa86fffaa3a27265966bc8265d34dd0a (patch)
treed648b723783ef39378838cf69b0d48fcfb3f6549
parente9d8b260708bc12e00bf79ff436cb87e12922fab (diff)
tdf#115162 Fix support for external reference for IFS functions
Functions SUMIFS, AVERAGEIFS, COUNTIFS, MINIFS, MAXIFS were not supported External references. The root cause issue, was using PopMatrix() method for: svExternalSingleRef and svExternalDoubleRef. PopMatrix() method only supports svMatrix, and in other cases returns FormulaError::IllegalParameter error. To resolve that issue, the method GetMatrix() was used. It is properly support svMatrix, svExternalSingleRef and svExternalDoubleRef. Change-Id: I3e30ca50069264a6d990b16ec668e6d0df51c6e6 Reviewed-on: https://gerrit.libreoffice.org/49264 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit b6db65752c60de7268e4f65d7fc5ac110adb2fb0) Reviewed-on: https://gerrit.libreoffice.org/49284
-rw-r--r--sc/source/core/tool/interpr1.cxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 42db756a2e01..53122e82cb40 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -5431,7 +5431,7 @@ void ScInterpreter::IterateParametersIfs( sc::ParamIfsResult& rRes )
case svExternalSingleRef:
case svExternalDoubleRef:
{
- pQueryMatrix = PopMatrix();
+ pQueryMatrix = GetMatrix();
if (!pQueryMatrix)
{
SetError( FormulaError::IllegalParameter);
@@ -5590,7 +5590,7 @@ void ScInterpreter::IterateParametersIfs( sc::ParamIfsResult& rRes )
case svExternalSingleRef:
case svExternalDoubleRef:
{
- pMainMatrix = PopMatrix();
+ pMainMatrix = GetMatrix();
if (!pMainMatrix)
{
SetError( FormulaError::IllegalParameter);