diff options
| author | nyamatongwe <devnull@localhost> | 2000-04-23 23:02:52 +0000 | 
|---|---|---|
| committer | nyamatongwe <devnull@localhost> | 2000-04-23 23:02:52 +0000 | 
| commit | e7e0244ee5f2dc3cee896ef695efbaf9a47ac519 (patch) | |
| tree | 1333ea2f269ba51377731942af211d3c2211dd9e /src/ContractionState.cxx | |
| parent | 7755da7142f88f1d9695fea500f9ae3f86d202ba (diff) | |
| download | scintilla-mirror-e7e0244ee5f2dc3cee896ef695efbaf9a47ac519.tar.gz | |
Fixing problems with fold information degrading when lines inserted and
removed.
New notifications before inserting and deleting text.
Diffstat (limited to 'src/ContractionState.cxx')
| -rw-r--r-- | src/ContractionState.cxx | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/src/ContractionState.cxx b/src/ContractionState.cxx index b01081588..82bf40994 100644 --- a/src/ContractionState.cxx +++ b/src/ContractionState.cxx @@ -131,10 +131,11 @@ void ContractionState::DeleteLines(int lineDoc, int lineCount) {  	}  	int delta = 0;  	for (int d=0;d<lineCount;d++) -		if (lines[lineDoc+d].visible) +		if (lines[lineDoc+d].visible && (lineDoc+d != 0))  			delta--;  	for (int i = lineDoc; i < linesInDoc-lineCount; i++) { -		lines[i].visible = lines[i + lineCount].visible; +        if (i != 0) // Line zero is always visible +		    lines[i].visible = lines[i + lineCount].visible;  		lines[i].expanded = lines[i + lineCount].expanded;  	}  	linesInDoc -= lineCount; @@ -153,6 +154,10 @@ bool ContractionState::GetVisible(int lineDoc) const {  }  bool ContractionState::SetVisible(int lineDocStart, int lineDocEnd, bool visible) { +    if (lineDocStart == 0) +        lineDocStart++; +    if (lineDocStart > lineDocEnd) +        return false;  	if (size == 0) {  		Grow(linesInDoc + growSize);  	} | 
