sc/source/core/data/validat.cxx |   12 ++++++++++++
 1 file changed, 12 insertions(+)

New commits:
commit 3ce626c81ac4a9b4b70c61d9fa576f6ae2c85c8f
Author: Eike Rathke <er...@redhat.com>
Date:   Thu Mar 6 01:23:37 2014 +0100

    resolved fdo#61520 do not add multiple empty strings to the validation list
    
    (cherry picked from commit 7122ef19847b26529ed1d5bad40df869e91a8495)
    
    Backported.
    
    Change-Id: I4f6180b2f8c914a965965ca362e1670e8b434d37
    Reviewed-on: https://gerrit.libreoffice.org/8470
    Tested-by: Kohei Yoshida <libreoff...@kohei.us>
    Reviewed-by: Kohei Yoshida <libreoff...@kohei.us>

diff --git a/sc/source/core/data/validat.cxx b/sc/source/core/data/validat.cxx
index 56902f8..b9d4260 100644
--- a/sc/source/core/data/validat.cxx
+++ b/sc/source/core/data/validat.cxx
@@ -710,6 +710,8 @@ bool ScValidationData::GetSelectionFromFormula(
         }
     }
 
+    bool bHaveEmpty = false;
+
     /* XL artificially limits things to a single col or row in the UI but does
      * not list the constraint in MOOXml. If a defined name or INDIRECT
      * resulting in 1D is entered in the UI and the definition later modified
@@ -730,6 +732,16 @@ bool ScValidationData::GetSelectionFromFormula(
             {
                 aValStr = nMatVal.GetString();
 
+                // Do not add multiple empty strings to the validation list,
+                // especially not if they'd bloat the tail with a million empty
+                // entries for a column range, fdo#61520
+                if (!aValStr.Len())
+                {
+                    if (bHaveEmpty)
+                        continue;
+                    bHaveEmpty = true;
+                }
+
                 if( NULL != pStrings )
                     pEntry = new ScTypedStrData( aValStr, 0.0, 
ScTypedStrData::Standard);
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to