diff options
author | Eike Rathke <erack@redhat.com> | 2014-01-23 22:40:16 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2014-01-27 09:41:54 +0000 |
commit | b99a2691484e9b0533530ad4f02e15ad4031b74b (patch) | |
tree | 043fc851c3b88eb1546e1a345233c5fc998a3eaf /sc/source/core/data/column.cxx | |
parent | 24245120e7d6f4ed2efa33df589daa7d1ea4e1f5 (diff) |
resolved fdo#71598 postpone SetDirty during Insert/Delete
... until after all listeners are re-established.
(cherry picked from commit 20b7476142f75b49d10a75e48429a94cff0cec32)
Conflicts:
sc/inc/formulacell.hxx
sc/inc/table.hxx
sc/source/core/data/column.cxx
sc/source/core/data/document.cxx
sc/source/core/data/formulacell.cxx
Backported.
Change-Id: I9f6036d4bcc9206191959a88ed5439b9860ca268
Reviewed-on: https://gerrit.libreoffice.org/7624
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'sc/source/core/data/column.cxx')
-rw-r--r-- | sc/source/core/data/column.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx index 305eeb50caaa..984633ce454b 100644 --- a/sc/source/core/data/column.cxx +++ b/sc/source/core/data/column.cxx @@ -2168,14 +2168,14 @@ void ScColumn::SetDirtyAfterLoad() } -void ScColumn::SetRelNameDirty() +void ScColumn::SetDirtyIfPostponed() { bool bOldAutoCalc = pDocument->GetAutoCalc(); pDocument->SetAutoCalc( false ); // no multiple recalculation for (SCSIZE i=0; i<maItems.size(); i++) { ScFormulaCell* p = (ScFormulaCell*) maItems[i].pCell; - if( p->GetCellType() == CELLTYPE_FORMULA && p->HasRelNameReference() ) + if( p->GetCellType() == CELLTYPE_FORMULA && (p->IsPostponedDirty() || p->HasRelNameReference()) ) p->SetDirty(); } pDocument->SetAutoCalc( bOldAutoCalc ); |