summaryrefslogtreecommitdiff
path: root/sc/source/core/data/column.cxx
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2014-01-23 22:40:16 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2014-01-27 03:19:13 +0000
commitd2982b9fd66f56553acd32bec806bafcdf8c8322 (patch)
tree92bf5dfda065670bab81b969a8f116c03f1ccfce /sc/source/core/data/column.cxx
parente7debed56f5f037208e49233034ad8a578d1dfbc (diff)
resolved fdo#71598 postpone SetDirty during Insert/Delete
... until after all listeners are re-established. Change-Id: I9f6036d4bcc9206191959a88ed5439b9860ca268 (cherry picked from commit 20b7476142f75b49d10a75e48429a94cff0cec32) Reviewed-on: https://gerrit.libreoffice.org/7623 Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'sc/source/core/data/column.cxx')
-rw-r--r--sc/source/core/data/column.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx
index aafb3149abc0..007e9e317cf2 100644
--- a/sc/source/core/data/column.cxx
+++ b/sc/source/core/data/column.cxx
@@ -2806,11 +2806,11 @@ struct SetDirtyAfterLoadHandler
}
};
-struct SetRelNameDirtyHandler
+struct SetDirtyIfPostponedHandler
{
void operator() (size_t /*nRow*/, ScFormulaCell* pCell)
{
- if (pCell->HasRelNameReference())
+ if (pCell->IsPostponedDirty() || pCell->HasRelNameReference())
pCell->SetDirty();
}
};
@@ -3144,10 +3144,10 @@ public:
}
-void ScColumn::SetRelNameDirty()
+void ScColumn::SetDirtyIfPostponed()
{
sc::AutoCalcSwitch aSwitch(*pDocument, false);
- SetRelNameDirtyHandler aFunc;
+ SetDirtyIfPostponedHandler aFunc;
sc::ProcessFormula(maCells, aFunc);
}