diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-03-26 15:46:07 +0000 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2020-03-26 22:49:31 +0100 |
commit | 0f5e930fffbe2151ffadc8461449e55015617f65 (patch) | |
tree | 86db45c955614984f10da5535c71d10a20817878 | |
parent | 741d30b5e1b0dcdbafb300ed7c7ad46756ffd946 (diff) |
tdf#131380 crash on loading specific xlsx document
mpPerIdx is null, because bEDS is true, assume 0 in this case
Change-Id: I44c2433b0de57a28cece6b9b01ba543bdc3cb8d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91145
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
-rw-r--r-- | sc/source/core/tool/interpr8.cxx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sc/source/core/tool/interpr8.cxx b/sc/source/core/tool/interpr8.cxx index 278e253531ec..2e15c142290c 100644 --- a/sc/source/core/tool/interpr8.cxx +++ b/sc/source/core/tool/interpr8.cxx @@ -1002,17 +1002,18 @@ void ScETSForecastCalculation::GetETSPredictionIntervals( const ScMatrixRef& rTM // fill array with forecasts, with RandDev() added to xScenRange if ( bAdditive ) { + double nPIdx = !bEDS ? mpPerIdx[mnCount - mnSmplInPrd] : 0.0; // calculation based on additive model xScenRange[ 0 ] = mpBase[ mnCount - 1 ] + mpTrend[ mnCount - 1 ] + - mpPerIdx[ mnCount - mnSmplInPrd ] + + nPIdx + RandDev(); aPredictions[ 0 ][ k ] = xScenRange[ 0 ]; - xScenBase[ 0 ] = mfAlpha * ( xScenRange[ 0 ] - mpPerIdx[ mnCount - mnSmplInPrd ] ) + + xScenBase[ 0 ] = mfAlpha * ( xScenRange[ 0 ] - nPIdx ) + ( 1 - mfAlpha ) * ( mpBase[ mnCount - 1 ] + mpTrend[ mnCount - 1 ] ); xScenTrend[ 0 ] = mfGamma * ( xScenBase[ 0 ] - mpBase[ mnCount - 1 ] ) + ( 1 - mfGamma ) * mpTrend[ mnCount - 1 ]; xScenPerIdx[ 0 ] = mfBeta * ( xScenRange[ 0 ] - xScenBase[ 0 ] ) + - ( 1 - mfBeta ) * mpPerIdx[ mnCount - mnSmplInPrd ]; + ( 1 - mfBeta ) * nPIdx; for ( SCSIZE i = 1; i < nSize; i++ ) { double fPerIdx; |