TextEditor: Fix updating TextMark priority

Change-Id: Ie88b75507faf1f467b4e044f2b06e25aae32bdcf
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2017-06-26 14:39:13 +02:00
parent 829bf2b9e6
commit 1d57a7e566
3 changed files with 15 additions and 4 deletions

View File

@@ -957,7 +957,13 @@ void TextDocument::removeMark(TextMark *mark)
void TextDocument::updateMark(TextMark *mark)
{
Q_UNUSED(mark)
QTextBlock block = d->m_document.findBlockByNumber(mark->lineNumber() - 1);
if (block.isValid()) {
TextBlockUserData *userData = TextDocumentLayout::userData(block);
// re-evaluate priority
userData->removeMark(mark);
userData->addMark(mark);
}
auto documentLayout = qobject_cast<TextDocumentLayout*>(d->m_document.documentLayout());
QTC_ASSERT(documentLayout, return);
documentLayout->requestUpdate();