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

Eike Rathke erack at redhat.com
Tue Jun 28 21:11:32 UTC 2016


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

New commits:
commit ae51f416fa375ad86e1836c1ad03b5da2c551fe5
Author: Eike Rathke <erack at redhat.com>
Date:   Tue Jun 28 23:10:18 2016 +0200

    identify boolean element type at least for inline arrays (i#87219)
    
    Since 23e5540a05e940cb4a591815e6b85a485b01fc32 we can use
    GetDoubleOrStringFromMatrix() and check for SC_MATVAL_BOOLEAN.
    Only if transported of course..
    If not, then even a {FALSE,FALSE,FALSE,...} result is better than the previous
    {FALSE,TRUE,TRUE,...} for any array sequence where all TRUE results resulted
    from the previous call to ISLOGICAL() ...
    
    Change-Id: I879e0cbc6557e73ac24713267b5122f923500501

diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 76f807d..5b18611 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -1960,9 +1960,13 @@ void ScInterpreter::ScIsLogical()
         }
         break;
         case svMatrix:
-            // TODO: we don't have type information for arrays except
-            // numerical/string.
-        // Fall through
+        {
+            double fVal;
+            svl::SharedString aStr;
+            ScMatValType nMatValType = GetDoubleOrStringFromMatrix( fVal, aStr);
+            bRes = (nMatValType == SC_MATVAL_BOOLEAN);
+        }
+        break;
         default:
             PopError();
             if ( !nGlobalError )


More information about the Libreoffice-commits mailing list