From bef1f341f1516a8c919ac4b6b62841aef7e2639a Mon Sep 17 00:00:00 2001 From: Ruslan Nigmatullin Date: Thu, 26 Feb 2015 14:52:11 -0800 Subject: TextEdit: Block's update should update paint node QQuickTextEdit::invalidateBlock method marks nodes as dirty but doesn't call QQuickItem::update(). Because of that it's impossible to rehighlight text by QSyntaxHighlighter. Task-number: QTBUG-44765 Change-Id: Ibfd973430cf00927dbec027d129c6d722634575e Reviewed-by: J-P Nurmi --- src/quick/items/qquicktextedit.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp index ba3220ba9b..03efbd0aa0 100644 --- a/src/quick/items/qquicktextedit.cpp +++ b/src/quick/items/qquicktextedit.cpp @@ -2292,7 +2292,14 @@ void QQuickTextEdit::updateWholeDocument() void QQuickTextEdit::invalidateBlock(const QTextBlock &block) { + Q_D(QQuickTextEdit); markDirtyNodesForRange(block.position(), block.position() + block.length(), 0); + + polish(); + if (isComponentComplete()) { + d->updateType = QQuickTextEditPrivate::UpdatePaintNode; + update(); + } } void QQuickTextEdit::updateCursor() -- cgit v1.2.3