summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorWinfried Donkers <winfrieddonkers@libreoffice.org>2017-01-10 16:30:14 +0100
committerEike Rathke <erack@redhat.com>2017-01-23 11:42:31 +0000
commit04f1d35e7eda2c3b178649610d609ee99342bf41 (patch)
treeb934bcafa6603e7ad99373729ca11dce7796cf8e /sc
parent3ce861adbe4e6f04d9d322e649fccd6cfcbd088f (diff)
tdf#105238 : return error when SHEETS argument is not a reference.
Change-Id: I9c93762b6bfe800d4843070fece2834d544cea13 Reviewed-on: https://gerrit.libreoffice.org/32932 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/tool/interpr1.cxx11
1 files changed, 2 insertions, 9 deletions
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 7fe7b8195fbd..d9d0658ed2dd 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -3925,11 +3925,12 @@ void ScInterpreter::ScSheets()
SCCOL nCol2;
SCROW nRow2;
SCTAB nTab2;
- while (nParamCount-- > 0)
+ while (nGlobalError == FormulaError::NONE && nParamCount-- > 0)
{
switch ( GetStackType() )
{
case svSingleRef:
+ case svExternalSingleRef:
PopError();
nVal++;
break;
@@ -3937,14 +3938,6 @@ void ScInterpreter::ScSheets()
PopDoubleRef(nCol1, nRow1, nTab1, nCol2, nRow2, nTab2);
nVal += static_cast<sal_uLong>(nTab2 - nTab1 + 1);
break;
- case svMatrix:
- PopError();
- nVal++;
- break;
- case svExternalSingleRef:
- PopError();
- nVal++;
- break;
case svExternalDoubleRef:
{
sal_uInt16 nFileId;