diff options
-rw-r--r-- | sc/inc/formulacell.hxx | 2 | ||||
-rw-r--r-- | sc/source/core/data/column.cxx | 2 | ||||
-rw-r--r-- | sc/source/core/data/formulacell.cxx | 7 | ||||
-rw-r--r-- | sc/source/core/tool/formulagroup.cxx | 3 | ||||
-rw-r--r-- | sc/source/filter/oox/formulabuffer.cxx | 2 | ||||
-rw-r--r-- | sc/source/ui/unoobj/cellsuno.cxx | 2 |
6 files changed, 10 insertions, 8 deletions
diff --git a/sc/inc/formulacell.hxx b/sc/inc/formulacell.hxx index 2a8546f28a2f..2d0d04cc7de8 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 da9aa3c13a9a..2933e9fbef88 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 d271edc641b4..80305c21c406 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 9f76fe2d052a..c554e9cf3f1e 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 6a934dc488a0..eba84aba4f13 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 600618194116..dc4019301752 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); } } |