aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Editor.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/Editor.cxx')
-rw-r--r--src/Editor.cxx12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index e28275917..1c08b7cc9 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -3493,9 +3493,15 @@ void Editor::ClearAll() {
}
void Editor::ClearDocumentStyle() {
- for (int i=0; i < INDIC_CONTAINER; i++) {
- pdoc->decorations.SetCurrentIndicator(i);
- pdoc->DecorationFillRange(0, 0, pdoc->Length());
+ Decoration *deco = pdoc->decorations.root;
+ while (deco) {
+ // Save next in case deco deleted
+ Decoration *decoNext = deco->next;
+ if (deco->indicator < INDIC_CONTAINER) {
+ pdoc->decorations.SetCurrentIndicator(deco->indicator);
+ pdoc->DecorationFillRange(0, 0, pdoc->Length());
+ }
+ deco = decoNext;
}
pdoc->StartStyling(0, '\377');
pdoc->SetStyleFor(pdoc->Length(), 0);