sc/source/ui/undo/undoblk3.cxx | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-)
New commits: commit 424bfaa773e58d6b609ac7f64907db4b542d1315 Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Sat Oct 11 14:18:10 2014 -0400 fdo#80846: Broadcast changes before EndUndo(). EndUndo() calls PostDataChanged(), which renders the recalculated formula cells. Not broadcasting before EndUndo causes some dependent formula cells to not get recalculated. This one unfortunately is not currently unit-testable as this behavior depends on the presence of ScTabViewShell.... Change-Id: I86288608b7f2627cda7c74be27a18029832775ef diff --git a/sc/source/ui/undo/undoblk3.cxx b/sc/source/ui/undo/undoblk3.cxx index 49e2280..de1f238 100644 --- a/sc/source/ui/undo/undoblk3.cxx +++ b/sc/source/ui/undo/undoblk3.cxx @@ -170,12 +170,20 @@ void ScUndoDeleteContents::DoChange( const bool bUndo ) SetChangeTrack(); } + if (nFlags & IDF_CONTENTS) + { + // Broadcast only when the content changes. fdo#74687 + if (mpDataSpans) + BroadcastChanges(*mpDataSpans); + else + BroadcastChanges(aRange); + } + ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell(); if ( !( (pViewShell) && pViewShell->AdjustRowHeight( aRange.aStart.Row(), aRange.aEnd.Row() ) ) ) /*A*/ pDocShell->PostPaint( aRange, PAINT_GRID | PAINT_EXTRAS, nExtFlags ); - pDocShell->PostDataChanged(); if (pViewShell) pViewShell->CellContentChanged(); @@ -188,16 +196,9 @@ void ScUndoDeleteContents::Undo() DoChange( true ); EndUndo(); - if (nFlags & IDF_CONTENTS) - { - // Broadcast only when the content changes. fdo#74687 - if (mpDataSpans) - BroadcastChanges(*mpDataSpans); - else - BroadcastChanges(aRange); - } HelperNotifyChanges::NotifyIfChangesListeners(*pDocShell, aRange); +// pDocShell->PostDataChanged(); } void ScUndoDeleteContents::Redo() @@ -206,10 +207,6 @@ void ScUndoDeleteContents::Redo() DoChange( false ); EndRedo(); - if (nFlags & IDF_CONTENTS) - // Broadcast only when the content changes. fdo#74687 - BroadcastChanges(aRange); - HelperNotifyChanges::NotifyIfChangesListeners(*pDocShell, aRange); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits