diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/CellBuffer.cxx | 3 | ||||
| -rw-r--r-- | src/CellBuffer.h | 2 | 
2 files changed, 4 insertions, 1 deletions
| diff --git a/src/CellBuffer.cxx b/src/CellBuffer.cxx index b67da81c9..420dee6ff 100644 --- a/src/CellBuffer.cxx +++ b/src/CellBuffer.cxx @@ -125,6 +125,7 @@ LineVector::LineVector() {  	levels = 0;  	sizeLevels = 0;  	handleCurrent = 1; +	growSize = 1000;  	Init();  } @@ -199,6 +200,8 @@ void LineVector::ClearLevels() {  void LineVector::InsertValue(int pos, int value) {  	//Platform::DebugPrintf("InsertValue[%d] = %d\n", pos, value);  	if ((lines + 2) >= size) { +		if (growSize * 6 < size) +			growSize *= 2;  		Expand(size + growSize);  		if (levels) {  			ExpandLevels(size + growSize); diff --git a/src/CellBuffer.h b/src/CellBuffer.h index b5c90f57a..5cfcbfe1f 100644 --- a/src/CellBuffer.h +++ b/src/CellBuffer.h @@ -53,7 +53,7 @@ struct LineData {   */  class LineVector {  public: -	enum { growSize = 4000 }; +	int growSize;  	int lines;  	LineData *linesData;  	int size; | 
