diff options
author | Eike Rathke <erack@redhat.com> | 2015-12-01 12:50:09 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2015-12-01 14:12:18 +0100 |
commit | 6d7b984ed17930bbfb884734ed83b98fb03ab06a (patch) | |
tree | 004e311c554d6582b0572f1168ac13c9f0b1f084 /sc | |
parent | 625a2f424004959254e618c60cff444e25444afe (diff) |
add DebugCalculationEntry::mnRecursion
Change-Id: I159cb1dcbe7a9678f7353292c3eab2fbc325d7f9
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/data/formulacell.cxx | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx index 6adf10677103..3963e6ada123 100644 --- a/sc/source/core/data/formulacell.cxx +++ b/sc/source/core/data/formulacell.cxx @@ -70,17 +70,20 @@ IMPL_FIXEDMEMPOOL_NEWDEL( ScFormulaCell ) #define DEBUG_CALCULATION 0 #if DEBUG_CALCULATION -static ScAddress aDebugCalculationTriggerAddress(1,2,0); // Sheet1.B3, whatever you like +static bool bDebugCalculationActive = false; // Set to true for global active init, +static ScAddress aDebugCalculationTriggerAddress(1,2,0); // or on cell Sheet1.B3, whatever you like struct DebugCalculationEntry { ScAddress maPos; OUString maResult; const ScDocument* mpDoc; + sal_uInt16 mnRecursion; - DebugCalculationEntry( const ScAddress& rPos, const ScDocument* pDoc ) : + DebugCalculationEntry( const ScAddress& rPos, ScDocument* pDoc ) : maPos(rPos), - mpDoc(pDoc) + mpDoc(pDoc), + mnRecursion(pDoc->GetRecursionHelper().GetRecursionCount()) { } }; @@ -101,14 +104,15 @@ static struct DebugCalculation bool mbPrint; bool mbPrintResults; - DebugCalculation() : mbActive(false), mbSwitchOff(false), mbPrint(true), mbPrintResults(false) {} + DebugCalculation() : mbActive(bDebugCalculationActive), mbSwitchOff(false), mbPrint(true), mbPrintResults(false) {} /** Print chain in encountered dependency order. */ void print() const { for (auto const& it : mvPos) { - OUString aStr( it.maPos.Format( SCA_VALID | SCA_TAB_3D, it.mpDoc)); + OUString aStr( it.maPos.Format( SCA_VALID | SCA_TAB_3D, it.mpDoc) + + " [" + OUString::number( it.mnRecursion) + "]"); fprintf( stderr, "%s -> ", aStr.toUtf8().getStr()); } fprintf( stderr, "%s", "END\n"); @@ -120,7 +124,7 @@ static struct DebugCalculation for (auto const& it : mvResults) { OUString aStr( it.maPos.Format( SCA_VALID | SCA_TAB_3D, it.mpDoc)); - aStr += "(" + it.maResult + ")"; + aStr += " (" + it.maResult + ")"; fprintf( stderr, "%s, ", aStr.toUtf8().getStr()); } fprintf( stderr, "%s", "END\n"); @@ -148,7 +152,7 @@ static struct DebugCalculation struct DebugCalculationStacker { - DebugCalculationStacker( const ScAddress& rPos, const ScDocument* pDoc ) + DebugCalculationStacker( const ScAddress& rPos, ScDocument* pDoc ) { if (!aDC.mbActive && rPos == aDC.maTrigger) aDC.mbActive = aDC.mbSwitchOff = true; |