Revert "Revert "Tentative fix to #8159: Undo doesn't restore environment depth correctly""

This is becoming crazy :)

This reverts commit 5b531b56ef.
This commit is contained in:
Jean-Marc Lasgouttes 2012-06-05 12:53:22 +02:00
parent 9a3b6733c0
commit bcd6990eca

View File

@ -23,6 +23,7 @@
#include "DocIterator.h"
#include "Paragraph.h"
#include "ParagraphList.h"
#include "ParagraphParameters.h"
#include "Text.h"
#include "mathed/MathSupport.h"
@ -344,6 +345,15 @@ void Undo::Private::doRecordUndo(UndoKind kind,
advance(first, first_pit);
ParagraphList::const_iterator last = plist.begin();
advance(last, last_pit + 1);
// If the paragraphs after the last one have a
// non-zero depth and the depth of last paragraph is
// decremented, then these paragraphs may be affected
// (ticket #8159). We guard against that by saving
// these extra paragraphs.
while (last != plist.end() && last->params().depth() > 0) {
++last;
--undo.end;
}
undo.pars = new ParagraphList(first, last);
}