diff options
author | David Schulz <david.schulz@qt.io> | 2018-02-28 13:30:42 +0100 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2018-02-28 12:55:00 +0000 |
commit | a0cb9919f32d8efa26fe3d3c13b8427859049dcc (patch) | |
tree | d09226305c07e4cf17ca8dd7cd6d86e3c614b25b /src/plugins/texteditor/generichighlighter/progressdata.cpp | |
parent | 2c89829de4136303cfa5ea510fd1ad05e4e8fd42 (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.cpp | 5 |
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); +} |