From 9bf9474e8d57f7ec3d01d1f4d56c501aa0eb43a0 Mon Sep 17 00:00:00 2001 From: Daniel Teske <daniel.teske@nokia.com> Date: Tue, 13 Mar 2012 16:05:16 +0100 Subject: [PATCH] BaseTextMark: Remove checks for linenumber after updateLineNumber The breakpoints are deleted in some cases on updateLineNumber, thus we can't call anything on the mark after calling updateLineNumber Change-Id: Ib6c7bddc980fc72e9d4f4b9ec9e2eeb8292c1e15 Reviewed-by: hjk <qthjk@ovi.com> --- src/plugins/texteditor/basetextdocumentlayout.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plugins/texteditor/basetextdocumentlayout.cpp b/src/plugins/texteditor/basetextdocumentlayout.cpp index 0166d19a4fe..66ac014c9b5 100644 --- a/src/plugins/texteditor/basetextdocumentlayout.cpp +++ b/src/plugins/texteditor/basetextdocumentlayout.cpp @@ -84,7 +84,7 @@ bool DocumentMarker::addMark(TextEditor::ITextMark *mark) userData->addMark(mark); m_marksCache.append(mark); mark->updateLineNumber(blockNumber + 1); - QTC_CHECK(mark->lineNumber() == blockNumber + 1); + QTC_CHECK(mark->lineNumber() == blockNumber + 1); // Checks that the base class is called mark->updateBlock(block); documentLayout->hasMarks = true; documentLayout->maxMarkWidthFactor = qMax(mark->widthFactor(), @@ -716,14 +716,14 @@ void BaseTextDocumentLayout::documentClosing() void BaseTextDocumentLayout::updateMarksLineNumber() { + // Note: the breakpointmanger deletes breakpoint marks and readds them + // if it doesn't agree with our updating QTextBlock block = document()->begin(); int blockNumber = 0; while (block.isValid()) { if (const TextBlockUserData *userData = testUserData(block)) - foreach (ITextMark *mrk, userData->marks()) { + foreach (ITextMark *mrk, userData->marks()) mrk->updateLineNumber(blockNumber + 1); - QTC_CHECK(mrk->lineNumber() == blockNumber +1); - } block = block.next(); ++blockNumber; } -- GitLab