summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-06-14 14:07:26 +0200
committerCaolán McNamara <caolanm@redhat.com>2016-06-14 15:05:20 +0000
commit91eb9901be5d61d6fcd930a898f2ddc372667aab (patch)
treecfc465971efa1a9ed75f2f01b0ab99787486cff0
parent25ba37abcc8ad381be6038ddb332dd60d3dcf4b1 (diff)
check ExternalSingleRef token for svDouble type
... before accessing GetDouble(). Else convert the string. The new assert() introduced in FormulaToken::GetDouble() virtual dummy was hit by loading gnome334723-1.sxc Change-Id: I144b0cabee3aac44d206d76a83b1c4d81ab4a02e (cherry picked from commit 243f19a1878d52a4074b59041dc3bc57ab84e417) Reviewed-on: https://gerrit.libreoffice.org/26261 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Jenkins <ci@libreoffice.org>
-rw-r--r--sc/source/core/tool/interpr4.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
index cbdc51e50f41..9cf3ed1a413e 100644
--- a/sc/source/core/tool/interpr4.cxx
+++ b/sc/source/core/tool/interpr4.cxx
@@ -1990,7 +1990,12 @@ double ScInterpreter::GetDouble()
ScExternalRefCache::TokenRef pToken;
PopExternalSingleRef(pToken);
if (!nGlobalError && pToken)
- nVal = pToken->GetDouble();
+ {
+ if (pToken->GetType() == svDouble)
+ nVal = pToken->GetDouble();
+ else
+ nVal = ConvertStringToValue( pToken->GetString().getString());
+ }
}
break;
case svExternalDoubleRef: