[Libreoffice-commits] .: sc/source

Kohei Yoshida kohei at kemper.freedesktop.org
Thu Jun 9 15:30:55 PDT 2011


 sc/source/core/tool/interpr1.cxx |    4 +++-
 sc/source/core/tool/interpr5.cxx |    7 ++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

New commits:
commit e89169562aa48ed38f3e4c91a9d79346c7602bf9
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Thu Jun 9 18:30:54 2011 -0400

    fdo#37764: Get ISBLANK() to work correctly with external refs.

diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 0d5ca09..ef556d7 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -1662,9 +1662,11 @@ void ScInterpreter::ScIsEmpty()
                 nRes = 1;
         }
         break;
+        case svExternalSingleRef:
+        case svExternalDoubleRef:
         case svMatrix:
         {
-            ScMatrixRef pMat = PopMatrix();
+            ScMatrixRef pMat = GetMatrix();
             if ( !pMat )
                 ;   // nothing
             else if ( !pJumpMatrix )
diff --git a/sc/source/core/tool/interpr5.cxx b/sc/source/core/tool/interpr5.cxx
index 57d04e7..10be5b8 100644
--- a/sc/source/core/tool/interpr5.cxx
+++ b/sc/source/core/tool/interpr5.cxx
@@ -572,11 +572,16 @@ ScMatrixRef ScInterpreter::GetMatrix()
                 pMat = new ScMatrix(1, 1);
                 pMat->PutDouble(pToken->GetDouble(), 0, 0);
             }
-            else
+            else if (pToken->GetType() == svString)
             {
                 pMat = new ScMatrix(1, 1);
                 pMat->PutString(pToken->GetString(), 0, 0);
             }
+            else
+            {
+                pMat = new ScMatrix(1, 1);
+                pMat->PutEmpty(0, 0);
+            }
         }
         break;
         case svExternalDoubleRef:


More information about the Libreoffice-commits mailing list