diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Decoration.cxx | 8 | ||||
-rw-r--r-- | src/Decoration.h | 2 | ||||
-rw-r--r-- | src/Editor.cxx | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/src/Decoration.cxx b/src/Decoration.cxx index e4ac0e07c..0e5b4a09a 100644 --- a/src/Decoration.cxx +++ b/src/Decoration.cxx @@ -101,6 +101,14 @@ void DecorationList::Delete(int indicator) { } } +void DecorationList::ClearAll() { + for (Decoration *deco=root; deco; deco = deco->next) { + int position = 0; + int length = deco->rs.Length(); + deco->rs.FillRange(position, 0, length); + } +} + void DecorationList::SetCurrentIndicator(int indicator) { currentIndicator = indicator; current = DecorationFromIndicator(indicator); diff --git a/src/Decoration.h b/src/Decoration.h index 2809641af..5c02aa7be 100644 --- a/src/Decoration.h +++ b/src/Decoration.h @@ -39,6 +39,8 @@ public: DecorationList(); ~DecorationList(); + void ClearAll(); + void SetCurrentIndicator(int indicator); int GetCurrentIndicator() { return currentIndicator; } diff --git a/src/Editor.cxx b/src/Editor.cxx index c72fc96d0..372f03ea9 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -3497,6 +3497,7 @@ void Editor::ClearDocumentStyle() { pdoc->SetStyleFor(pdoc->Length(), 0); cs.ShowAll(); pdoc->ClearLevels(); + pdoc->decorations.ClearAll(); } void Editor::CopyAllowLine() { |