[Libreoffice-commits] core.git: sc/source

Eike Rathke erack at redhat.com
Wed Oct 21 09:58:26 PDT 2015


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

New commits:
commit 968e2faff6d4283dacd9010d31cb4c0df45eb7c5
Author: Eike Rathke <erack at redhat.com>
Date:   Wed Oct 21 18:45:18 2015 +0200

    Resolves: tdf#95226 fix broken IFERROR/IFNA array logic
    
    Change-Id: I059248659f51746cfc1d06faeaadaf3d645c03d3

diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 4e8fce0..577503e 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -353,11 +353,11 @@ void ScInterpreter::ScIfError( bool bNAonly )
                     SCSIZE nC = 0, nR = 0;
                     for ( ; nC < nCols && (nC != nErrorCol || nR != nErrorRow); /*nop*/ )
                     {
-                        for ( ; nR < nRows && (nC != nErrorCol || nR != nErrorRow); ++nR)
+                        for (nR = 0 ; nR < nRows && (nC != nErrorCol || nR != nErrorRow); ++nR)
                         {
                             lcl_storeJumpMatResult(pMatPtr, pJumpMat, nC, nR);
                         }
-                        if (nC != nErrorCol || nR != nErrorRow)
+                        if (nC != nErrorCol && nR != nErrorRow)
                             ++nC;
                     }
                     // Now the mixed cases.
@@ -375,6 +375,7 @@ void ScInterpreter::ScIfError( bool bNAonly )
                                 lcl_storeJumpMatResult(pMatPtr, pJumpMat, nC, nR);
                             }
                         }
+                        nR = 0;
                     }
                     xNew = new ScJumpMatrixToken( pJumpMat );
                     GetTokenMatrixMap().insert( ScTokenMatrixMap::value_type( pCur, xNew ));


More information about the Libreoffice-commits mailing list