summaryrefslogtreecommitdiff
path: root/sc/source/core/data/document.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/core/data/document.cxx')
-rw-r--r--sc/source/core/data/document.cxx26
1 files changed, 14 insertions, 12 deletions
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 02d6e21e35bc..6369388f159b 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -1200,12 +1200,13 @@ bool ScDocument::InsertRow( SCCOL nStartCol, SCTAB nStartTab,
for (; it != maTabs.end(); ++it)
if (*it)
(*it)->StartNeededListeners();
- // at least all cells using range names pointing relative
- // to the moved range must recalculate
+ // At least all cells using range names pointing relative to the
+ // moved range must be recalculated, and all cells marked postponed
+ // dirty.
it = maTabs.begin();
for (; it != maTabs.end(); ++it)
if (*it)
- (*it)->SetRelNameDirty();
+ (*it)->SetDirtyIfPostponed();
// Cells containing functions such as CELL, COLUMN or ROW may have
// changed their values on relocation. Broadcast them.
@@ -1295,12 +1296,12 @@ void ScDocument::DeleteRow( SCCOL nStartCol, SCTAB nStartTab,
for (; it != maTabs.end(); ++it)
if (*it)
(*it)->StartNeededListeners();
- // at least all cells using range names pointing relative
- // to the moved range must recalculate
+ // At least all cells using range names pointing relative to the moved
+ // range must be recalculated, and all cells marked postponed dirty.
it = maTabs.begin();
for (; it != maTabs.end(); ++it)
if (*it)
- (*it)->SetRelNameDirty();
+ (*it)->SetDirtyIfPostponed();
// Cells containing functions such as CELL, COLUMN or ROW may have
// changed their values on relocation. Broadcast them.
@@ -1404,12 +1405,13 @@ bool ScDocument::InsertCol( SCROW nStartRow, SCTAB nStartTab,
for (; it != maTabs.end(); ++it)
if (*it)
(*it)->StartNeededListeners();
- // at least all cells using range names pointing relative
- // to the moved range must recalculate
+ // At least all cells using range names pointing relative to the
+ // moved range must be recalculated, and all cells marked postponed
+ // dirty.
it = maTabs.begin();
for (; it != maTabs.end(); ++it)
if (*it)
- (*it)->SetRelNameDirty();
+ (*it)->SetDirtyIfPostponed();
// Cells containing functions such as CELL, COLUMN or ROW may have
// changed their values on relocation. Broadcast them.
@@ -1497,12 +1499,12 @@ void ScDocument::DeleteCol(SCROW nStartRow, SCTAB nStartTab, SCROW nEndRow, SCTA
for (; it != maTabs.end(); ++it)
if (*it)
(*it)->StartNeededListeners();
- // at least all cells using range names pointing relative
- // to the moved range must recalculate
+ // At least all cells using range names pointing relative to the moved
+ // range must be recalculated, and all cells marked postponed dirty.
it = maTabs.begin();
for (; it != maTabs.end(); ++it)
if (*it)
- (*it)->SetRelNameDirty();
+ (*it)->SetDirtyIfPostponed();
// Cells containing functions such as CELL, COLUMN or ROW may have
// changed their values on relocation. Broadcast them.