[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - sc/source

Eike Rathke erack at redhat.com
Tue Aug 26 23:12:29 PDT 2014


 sc/source/core/data/formulacell.cxx |    8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

New commits:
commit fe97e1d66aecedb019c85967d5e81bd620c7555a
Author: Eike Rathke <erack at redhat.com>
Date:   Mon Aug 25 21:54:42 2014 +0200

    fdo#83067 also volatile cells need to listen to all references
    
    As we now broadcast also cell moves it is not sufficient anymore to add
    volatile cells only to the BCA_LISTEN_ALWAYS broadcaster, add them as
    listener to all referenced cells and ranges as usual.
    
    Change-Id: I7901b73db7e0c82c4bac302ae746810cbc16ea44
    (cherry picked from commit 0792aef9010007d5738723d8930990028bef2f9e)
    Reviewed-on: https://gerrit.libreoffice.org/11112
    Reviewed-by: Muthu Subramanian K <muthusuba at gmail.com>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Tested-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx
index a6f3583..2059aee 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -1830,7 +1830,7 @@ void ScFormulaCell::InterpretTail( ScInterpretTailParameter eTailParam )
                 if (pCode->IsRecalcModeAlways())
                 {
                     // The formula was previously volatile, but no more.
-                    EndListeningTo(pDocument);
+                    pDocument->EndListeningArea(BCA_LISTEN_ALWAYS, this);
                     pCode->SetExclusiveRecalcModeNormal();
                 }
                 else
@@ -3801,8 +3801,6 @@ void ScFormulaCell::StartListeningTo( ScDocument* pDoc )
     if( pArr->IsRecalcModeAlways() )
     {
         pDoc->StartListeningArea(BCA_LISTEN_ALWAYS, this);
-        SetNeedsListening( false);
-        return;
     }
 
     pArr->Reset();
@@ -3841,8 +3839,6 @@ void ScFormulaCell::StartListeningTo( sc::StartListeningContext& rCxt )
     if( pArr->IsRecalcModeAlways() )
     {
         rDoc.StartListeningArea(BCA_LISTEN_ALWAYS, this);
-        SetNeedsListening( false);
-        return;
     }
 
     pArr->Reset();
@@ -3908,7 +3904,6 @@ void ScFormulaCell::EndListeningTo( ScDocument* pDoc, ScTokenArray* pArr,
     if ( GetCode()->IsRecalcModeAlways() )
     {
         pDoc->EndListeningArea( BCA_LISTEN_ALWAYS, this );
-        return;
     }
 
     if (!pArr)
@@ -3954,7 +3949,6 @@ void ScFormulaCell::EndListeningTo( sc::EndListeningContext& rCxt )
     if (pArr->IsRecalcModeAlways())
     {
         rDoc.EndListeningArea(BCA_LISTEN_ALWAYS, this);
-        return;
     }
 
     pArr->Reset();


More information about the Libreoffice-commits mailing list