diff --git a/src/plugins/texteditor/textdocument.h b/src/plugins/texteditor/textdocument.h index 58e5ea972c7..b66046c076b 100644 --- a/src/plugins/texteditor/textdocument.h +++ b/src/plugins/texteditor/textdocument.h @@ -111,6 +111,7 @@ public: bool addMark(TextMark *mark); TextMarks marksAt(int line) const; void removeMark(TextMark *mark); + void updateLayout() const; void updateMark(TextMark *mark); void moveMark(TextMark *mark, int previousLine); void removeMarkFromMarksCache(TextMark *mark); @@ -187,7 +188,6 @@ private: void cleanWhitespace(QTextCursor &cursor, bool inEntireDocument, bool cleanIndentation); void ensureFinalNewLine(QTextCursor &cursor); void modificationChanged(bool modified); - void updateLayout() const; TextDocumentPrivate *d; }; diff --git a/src/plugins/texteditor/textmark.cpp b/src/plugins/texteditor/textmark.cpp index 447749fb1f4..386bd72ef27 100644 --- a/src/plugins/texteditor/textmark.cpp +++ b/src/plugins/texteditor/textmark.cpp @@ -242,13 +242,14 @@ void TextMark::removedFromEditor() void TextMark::updateMarker() { if (m_baseTextDocument) - m_baseTextDocument->updateMark(this); + m_baseTextDocument->updateLayout(); } void TextMark::setPriority(TextMark::Priority prioriy) { m_priority = prioriy; - updateMarker(); + if (m_baseTextDocument) + m_baseTextDocument->updateMark(this); } bool TextMark::isVisible() const