aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/generichighlighter/progressdata.cpp
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2018-02-28 13:30:42 +0100
committerDavid Schulz <david.schulz@qt.io>2018-02-28 12:55:00 +0000
commita0cb9919f32d8efa26fe3d3c13b8427859049dcc (patch)
treed09226305c07e4cf17ca8dd7cd6d86e3c614b25b /src/plugins/texteditor/generichighlighter/progressdata.cpp
parent2c89829de4136303cfa5ea510fd1ad05e4e8fd42 (diff)
Highlighter: fix crash after context change
Context changes might delete rules. Make sure to not dereference these deleted rules by: - save needed rule information before context change - untrack every rule in ProgressData that was deleted Task-number: QTCREATORBUG-19916 Change-Id: Icdbb739c1030bf918dbbe6c3a540a7c8893ce5a9 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/texteditor/generichighlighter/progressdata.cpp')
-rw-r--r--src/plugins/texteditor/generichighlighter/progressdata.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/texteditor/generichighlighter/progressdata.cpp b/src/plugins/texteditor/generichighlighter/progressdata.cpp
index 6075a1a4e4..d79d5b0152 100644
--- a/src/plugins/texteditor/generichighlighter/progressdata.cpp
+++ b/src/plugins/texteditor/generichighlighter/progressdata.cpp
@@ -108,3 +108,8 @@ void ProgressData::trackRule(Rule *rule)
{
m_trackedRules.append(rule);
}
+
+void ProgressData::unTrackRule(Rule *rule)
+{
+ m_trackedRules.removeAll(rule);
+}