diff options
author | Eike Rathke <erack@redhat.com> | 2014-01-23 22:40:16 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2014-01-27 03:19:13 +0000 |
commit | d2982b9fd66f56553acd32bec806bafcdf8c8322 (patch) | |
tree | 92bf5dfda065670bab81b969a8f116c03f1ccfce /sc/source/core/data/column.cxx | |
parent | e7debed56f5f037208e49233034ad8a578d1dfbc (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.cxx | 8 |
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); } |