diff options
Diffstat (limited to 'src')
-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: |