diff options
Diffstat (limited to 'sc/source/core/data/validat.cxx')
-rw-r--r-- | sc/source/core/data/validat.cxx | 12 |
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); |