qt5base-lts/tests/auto/gui/text/qtextdocument
Eskil Abrahamsen Blomfeldt 79e0effead Fix crash in QTextDocument::clearUndoRedoStacks()
When calling QTextDocument::clearUndoRedoStacks() with UndoStack,
there were two bugs: The first was that we were retrieving
the item at "undoState" and deleting this. This is actually the
upper limit of the for loop. If the stack does not contain any
redos, then it would be == undoStack.size() and we would assert.

If there were redos, then we would delete the item at undoState
multiple times (actually undoState times).

In addition, when the loop exited, we first removed the dangling
pointers using remove() and then there was a weird resize() to
the new size minus the old undoState.

This would either assert because we tried to resize to a negative
number, or it would arbitrarily remove items from the stack.

[ChangeLog][QtGui][Text] Fixed a crash bug in
QTextDocument::clearUndoRedoStacks(QTextDocument::UndoStack).

Task-number: QTBUG-69546
Change-Id: I8a93e828ec27970763a2756071fa0b01678d2dcd
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2019-08-08 07:07:20 +02:00
..
.gitignore Moved gui autotests into new directory structure 2011-09-01 10:59:49 +02:00
common.h Updated license headers 2016-01-21 18:55:18 +00:00
qtextdocument.pro QtGui tests: Remove DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 2013-03-27 03:54:42 +01:00
test.css Ensure that CSS rules are inherited from the parent tags 2015-03-25 11:55:47 +00:00
tst_qtextdocument.cpp Fix crash in QTextDocument::clearUndoRedoStacks() 2019-08-08 07:07:20 +02:00