sc/inc/formulacell.hxx | 2 +- sc/source/core/data/column.cxx | 2 +- sc/source/core/data/formulacell.cxx | 7 +++---- sc/source/core/tool/formulagroup.cxx | 3 +++ sc/source/filter/oox/formulabuffer.cxx | 2 +- sc/source/ui/unoobj/cellsuno.cxx | 2 +- 6 files changed, 10 insertions(+), 8 deletions(-)
New commits: commit 8de5aadd3c24d6d678a0103c48f53ecb212f4ebb Author: Kohei Yoshida <[email protected]> Date: Tue Apr 30 11:24:29 2013 -0400 Ensure that modified formula cells are redrawn. ScFormulaCell::bChanged is responsible for this, though, we should only set it to true for visible cells only. That's a TODO for later. Change-Id: Ic237c45fb271f901320f4843c89710aedd16c906 diff --git a/sc/inc/formulacell.hxx b/sc/inc/formulacell.hxx index 2a8546f..2d0d04c 100644 --- a/sc/inc/formulacell.hxx +++ b/sc/inc/formulacell.hxx @@ -192,7 +192,7 @@ public: void FindRangeNamesInUse(std::set<sal_uInt16>& rIndexes) const; bool IsSubTotal() const { return bSubTotal; } bool IsChanged() const; - void ResetChanged(); + void SetChanged(bool b); bool IsEmpty(); // formula::svEmptyCell result // display as empty string if formula::svEmptyCell result bool IsEmptyDisplayedAsString(); diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx index da9aa3c..2933e9f 100644 --- a/sc/source/core/data/column.cxx +++ b/sc/source/core/data/column.cxx @@ -2382,7 +2382,7 @@ void ScColumn::ResetChanged( SCROW nStartRow, SCROW nEndRow ) { ScBaseCell* pCell = maItems[nIndex].pCell; if (pCell->GetCellType() == CELLTYPE_FORMULA) - ((ScFormulaCell*)pCell)->ResetChanged(); + ((ScFormulaCell*)pCell)->SetChanged(false); ++nIndex; } } diff --git a/sc/source/core/data/formulacell.cxx b/sc/source/core/data/formulacell.cxx index d271edc..80305c2 100644 --- a/sc/source/core/data/formulacell.cxx +++ b/sc/source/core/data/formulacell.cxx @@ -2730,9 +2730,9 @@ bool ScFormulaCell::IsChanged() const return bChanged; } -void ScFormulaCell::ResetChanged() +void ScFormulaCell::SetChanged(bool b) { - bChanged = false; + bChanged = b; } void ScFormulaCell::CompileDBFormula() @@ -3153,8 +3153,7 @@ bool ScFormulaCell::InterpretInvariantFormulaGroup() // Ensure the cell truly has a result: pCell->aResult = aResult; pCell->ResetDirty(); - - // FIXME: there is a view / refresh missing here it appears. + pCell->SetChanged(true); } return true; diff --git a/sc/source/core/tool/formulagroup.cxx b/sc/source/core/tool/formulagroup.cxx index 9f76fe2..c554e9c 100644 --- a/sc/source/core/tool/formulagroup.cxx +++ b/sc/source/core/tool/formulagroup.cxx @@ -88,7 +88,10 @@ bool FormulaGroupInterpreter::interpret() pDest->SetResultToken(aInterpreter.GetResultToken().get()); pDest->ResetDirty(); + pDest->SetChanged(true); } + + return true; } } diff --git a/sc/source/filter/oox/formulabuffer.cxx b/sc/source/filter/oox/formulabuffer.cxx index 0fa6dcb..32ec1d6 100644 --- a/sc/source/filter/oox/formulabuffer.cxx +++ b/sc/source/filter/oox/formulabuffer.cxx @@ -151,7 +151,7 @@ void FormulaBuffer::applyCellFormulaValues( const std::vector< ValueAddressPair { pCell->SetHybridDouble( it->second ); pCell->ResetDirty(); - pCell->ResetChanged(); + pCell->SetChanged(false); } } } diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx index 6006181..dc40193 100644 --- a/sc/source/ui/unoobj/cellsuno.cxx +++ b/sc/source/ui/unoobj/cellsuno.cxx @@ -6609,7 +6609,7 @@ void SAL_CALL ScCellObj::setFormulaResult( double nValue ) throw(uno::RuntimeExc ScFormulaCell* pCell = pDocSh->GetDocument()->GetFormulaCell(aCellPos); pCell->SetHybridDouble( nValue ); pCell->ResetDirty(); - pCell->ResetChanged(); + pCell->SetChanged(false); } } _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
