diff options
| -rw-r--r-- | src/ContractionState.cxx | 28 | ||||
| -rw-r--r-- | src/ContractionState.h | 12 | 
2 files changed, 17 insertions, 23 deletions
| diff --git a/src/ContractionState.cxx b/src/ContractionState.cxx index 616f6bb87..60042bf88 100644 --- a/src/ContractionState.cxx +++ b/src/ContractionState.cxx @@ -26,8 +26,7 @@  using namespace Scintilla;  #endif -ContractionState::ContractionState() : visible(0), expanded(0), heights(0), foldDisplayTexts(0), displayLines(0), linesInDocument(1) { -	//InsertLine(0); +ContractionState::ContractionState() : linesInDocument(1) {  }  ContractionState::~ContractionState() { @@ -36,26 +35,21 @@ ContractionState::~ContractionState() {  void ContractionState::EnsureData() {  	if (OneToOne()) { -		visible = new RunStyles(); -		expanded = new RunStyles(); -		heights = new RunStyles(); -		foldDisplayTexts = new SparseVector<const char *>(); -		displayLines = new Partitioning(4); +		visible.reset(new RunStyles()); +		expanded.reset(new RunStyles()); +		heights.reset(new RunStyles()); +		foldDisplayTexts.reset(new SparseVector<const char *>()); +		displayLines.reset(new Partitioning(4));  		InsertLines(0, linesInDocument);  	}  }  void ContractionState::Clear() { -	delete visible; -	visible = 0; -	delete expanded; -	expanded = 0; -	delete heights; -	heights = 0; -	delete foldDisplayTexts; -	foldDisplayTexts = 0; -	delete displayLines; -	displayLines = 0; +	visible.reset(); +	expanded.reset(); +	heights.reset(); +	foldDisplayTexts.reset(); +	displayLines.reset();  	linesInDocument = 1;  } diff --git a/src/ContractionState.h b/src/ContractionState.h index 5df68a0de..1e4c3f58f 100644 --- a/src/ContractionState.h +++ b/src/ContractionState.h @@ -19,11 +19,11 @@ class SparseVector;   */  class ContractionState {  	// These contain 1 element for every document line. -	RunStyles *visible; -	RunStyles *expanded; -	RunStyles *heights; -	SparseVector<const char *> *foldDisplayTexts; -	Partitioning *displayLines; +	std::unique_ptr<RunStyles> visible; +	std::unique_ptr<RunStyles> expanded; +	std::unique_ptr<RunStyles> heights; +	std::unique_ptr<SparseVector<const char *>> foldDisplayTexts; +	std::unique_ptr<Partitioning> displayLines;  	Sci::Line linesInDocument;  	void EnsureData(); @@ -31,7 +31,7 @@ class ContractionState {  	bool OneToOne() const {  		// True when each document line is exactly one display line so need for  		// complex data structures. -		return visible == 0; +		return visible == nullptr;  	}  public: | 
