[Libreoffice-commits] core.git: Branch 'libreoffice-6-0' - sc/source

Bartosz Kosiorek gang65 at poczta.onet.pl
Tue Feb 6 15:10:42 UTC 2018


 sc/source/core/tool/interpr1.cxx |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit d9fafddcf8eb37916c8a8e76af36d67c8db84a98
Author: Bartosz Kosiorek <gang65 at poczta.onet.pl>
Date:   Tue Feb 6 02:10:14 2018 +0100

    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 at libreoffice.org>
    Reviewed-by: Eike Rathke <erack at redhat.com>
    (cherry picked from commit b6db65752c60de7268e4f65d7fc5ac110adb2fb0)
    Reviewed-on: https://gerrit.libreoffice.org/49283

diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index d3b5829a5db8..ab3f28d27225 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -5805,7 +5805,7 @@ void ScInterpreter::IterateParametersIfs( double(*ResultFunc)( const sc::ParamIf
                 case svExternalSingleRef:
                 case svExternalDoubleRef:
                     {
-                        pQueryMatrix = PopMatrix();
+                        pQueryMatrix = GetMatrix();
                         if (!pQueryMatrix)
                         {
                             PushError( FormulaError::IllegalParameter);
@@ -6029,7 +6029,7 @@ void ScInterpreter::IterateParametersIfs( double(*ResultFunc)( const sc::ParamIf
                 case svExternalSingleRef:
                 case svExternalDoubleRef:
                     {
-                        pMainMatrix = PopMatrix();
+                        pMainMatrix = GetMatrix();
                         if (!pMainMatrix)
                         {
                             PushError( FormulaError::IllegalParameter);


More information about the Libreoffice-commits mailing list