[Libreoffice-commits] core.git: sc/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Thu Mar 26 21:50:16 UTC 2020


 sc/source/core/tool/interpr8.cxx |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

New commits:
commit 0f5e930fffbe2151ffadc8461449e55015617f65
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Mar 26 15:46:07 2020 +0000
Commit:     Eike Rathke <erack at redhat.com>
CommitDate: Thu Mar 26 22:49:31 2020 +0100

    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 at redhat.com>

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;


More information about the Libreoffice-commits mailing list