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

Markus Mohrhard mmohrhard at kemper.freedesktop.org
Thu Jun 9 21:16:23 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 9551cd558375978ae9cd03353a1948397438d351
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Thu Jun 9 22:30:54 2011 +0000

    fdo#37764: Get ISBLANK() to work correctly with external refs.
    
    Signed-off-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 2327e94..90eeeb6 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -1661,9 +1661,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 7f005e2..31b9f0e 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