summaryrefslogtreecommitdiff
path: root/sc/source/core/data/validat.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/core/data/validat.cxx')
-rw-r--r--sc/source/core/data/validat.cxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/sc/source/core/data/validat.cxx b/sc/source/core/data/validat.cxx
index 56902f818b32..b9d426065bdb 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);