diff --git a/sc/inc/rangelst.hxx b/sc/inc/rangelst.hxx index 2a20f45108e9..9902eab2e448 100644 --- a/sc/inc/rangelst.hxx +++ b/sc/inc/rangelst.hxx @@ -41,7 +41,7 @@ public: sal_uInt16 Parse( const String&, ScDocument* = NULL, sal_uInt16 nMask = SCA_VALID, formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_OOO, - SCTAB nDefaultTab = 0 ); + SCTAB nDefaultTab = 0, sal_Unicode cDelimiter = 0 ); void Format( String&, sal_uInt16 nFlags = 0, ScDocument* = NULL, formula::FormulaGrammar::AddressConvention eConv = formula::FormulaGrammar::CONV_OOO, diff --git a/sc/source/core/tool/rangelst.cxx b/sc/source/core/tool/rangelst.cxx index 8f37c136af74..4027d6febfe8 100644 --- a/sc/source/core/tool/rangelst.cxx +++ b/sc/source/core/tool/rangelst.cxx @@ -183,11 +183,12 @@ ScRangeList::~ScRangeList() sal_uInt16 ScRangeList::Parse( const String& rStr, ScDocument* pDoc, sal_uInt16 nMask, formula::FormulaGrammar::AddressConvention eConv, - SCTAB nDefaultTab ) + SCTAB nDefaultTab, sal_Unicode cDelimiter ) { if ( rStr.Len() ) { - sal_Unicode cDelimiter = ScCompiler::GetNativeSymbol(ocSep).GetChar(0); + if (!cDelimiter) + cDelimiter = ScCompiler::GetNativeSymbol(ocSep).GetChar(0); nMask |= SCA_VALID; // falls das jemand vergessen sollte sal_uInt16 nResult = (sal_uInt16)~0; // alle Bits setzen