[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - sc/source

Tor Lillqvist tml at collabora.com
Tue Feb 2 17:11:08 UTC 2016


 sc/source/core/opencl/formulagroupcl.cxx |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit 6f50edb1aabaf9de37782e63abd109e2276bd0c4
Author: Tor Lillqvist <tml at collabora.com>
Date:   Sun Oct 18 22:57:47 2015 +0300

    tdf#97150: tdf#94924: If we can't handle strings, don't try to then
    
    Fixes the VLOOKUP problem reported in tdf#94540 by falling back to
    non-OpenCL for such a case, where one of the columns passed to the
    VLOOKUP contained strings. And since a while, we don't claim to handle
    strings in VLOOKUP. Which is true.
    
    (cherry picked from commit 476bef70f1d9fd58b29a1f6fb95e54567b031acf)
    
    Change-Id: I4140c86bf8166beb8201aa90c075d9f4432d9173
    Reviewed-on: https://gerrit.libreoffice.org/21874
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/core/opencl/formulagroupcl.cxx b/sc/source/core/opencl/formulagroupcl.cxx
index 2667f5d..4b8b50e 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -2659,6 +2659,13 @@ DynamicKernelSoPArguments::DynamicKernelSoPArguments(const ScCalcConfig& config,
                                         new DynamicKernelMixedSlidingArgument(mCalcConfig,
                                             ts, ft->Children[i], mpCodeGen, j)));
                             }
+                            else if (!AllStringsAreNull(pDVR->GetArrays()[j].mpStringArray, pDVR->GetArrayLength()) &&
+                                     !pCodeGen->takeString())
+                            {
+                                // Can't handle
+                                SAL_INFO("sc.opencl", "Strings but can't do that.");
+                                throw UnhandledToken(pChild, ("unhandled operand " + StackVarEnumToString(pChild->GetType()) + " for ocPush").c_str());
+                            }
                             else
                             {
                                 // Not sure I can figure out what case this exactly is;)


More information about the Libreoffice-commits mailing list