diff options
author | Bartosz Kosiorek <gang65@poczta.onet.pl> | 2018-02-06 02:10:14 +0100 |
---|---|---|
committer | Bartosz Kosiorek <gang65@poczta.onet.pl> | 2018-02-06 14:46:22 +0100 |
commit | d4a41817aa86fffaa3a27265966bc8265d34dd0a (patch) | |
tree | d648b723783ef39378838cf69b0d48fcfb3f6549 | |
parent | e9d8b260708bc12e00bf79ff436cb87e12922fab (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.cxx | 4 |
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); |