[Libreoffice-commits] .: Branch 'libreoffice-3-3' - sc/source

Kohei Yoshida kohei at kemper.freedesktop.org
Thu Nov 18 10:52:05 PST 2010


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

New commits:
commit 5d75f3d8c0689b3dea34747ca4334096ff66913c
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Thu Nov 18 13:50:30 2010 -0500

    Make VLOOKUP work with an external reference once again. (fdo#31718)

diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index ee317f2..f561317 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -5638,7 +5638,8 @@ void ScInterpreter::CalculateLookup(BOOL HLookup)
         SCCOL nCol2 = 0;
         SCROW nRow2 = 0;
         SCTAB nTab2;
-        if (GetStackType() == svDoubleRef)
+        StackVar eType = GetStackType();
+        if (eType == svDoubleRef)
         {
             PopDoubleRef(nCol1, nRow1, nTab1, nCol2, nRow2, nTab2);
             if (nTab1 != nTab2)
@@ -5647,9 +5648,13 @@ void ScInterpreter::CalculateLookup(BOOL HLookup)
                 return;
             }
         }
-        else if (GetStackType() == svMatrix)
+        else if (eType == svMatrix || eType == svExternalDoubleRef)
         {
-            pMat = PopMatrix();
+            if (eType == svMatrix)
+                pMat = PopMatrix();
+            else
+                PopExternalDoubleRef(pMat);
+
             if (pMat)
                 pMat->GetDimensions(nC, nR);
             else


More information about the Libreoffice-commits mailing list