summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/inc/formulacell.hxx2
-rw-r--r--sc/source/core/data/column.cxx2
-rw-r--r--sc/source/core/data/formulacell.cxx7
-rw-r--r--sc/source/core/tool/formulagroup.cxx3
-rw-r--r--sc/source/filter/oox/formulabuffer.cxx2
-rw-r--r--sc/source/ui/unoobj/cellsuno.cxx2
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);
}
}