From c48897c8f67c8f4096fdb51269ec478b45694f7d Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Sun, 31 Dec 2006 22:25:37 +0000 Subject: Fixed folding slowness when pasting a large amount of text on an empty line. Does not propagate wgitespace flag onto new lines which made them subordinate. Setting a line visible in contraction state now only invalidates the data structure if line currently not visible. --- src/CellBuffer.cxx | 2 +- src/ContractionState.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/CellBuffer.cxx b/src/CellBuffer.cxx index a6c0cf577..bd124d011 100644 --- a/src/CellBuffer.cxx +++ b/src/CellBuffer.cxx @@ -225,7 +225,7 @@ void LineVector::InsertValue(int pos, int value) { } else if (pos == (lines - 1)) { // Last line will not be a folder levels[pos] = SC_FOLDLEVELBASE; } else { - levels[pos] = levels[pos - 1]; + levels[pos] = levels[pos - 1] & ~SC_FOLDLEVELWHITEFLAG; } } } diff --git a/src/ContractionState.cxx b/src/ContractionState.cxx index 3d021b080..49148317c 100644 --- a/src/ContractionState.cxx +++ b/src/ContractionState.cxx @@ -208,11 +208,11 @@ bool ContractionState::SetVisible(int lineDocStart, int lineDocEnd, bool visible if (lines[line].visible != visible) { delta += visible ? lines[line].height : -lines[line].height; lines[line].visible = visible; + valid = false; } } } linesInDisplay += delta; - valid = false; return delta != 0; } -- cgit v1.2.3