diff options
-rw-r--r-- | src/ContractionState.cxx | 10 | ||||
-rw-r--r-- | src/Editor.cxx | 1 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/ContractionState.cxx b/src/ContractionState.cxx index 3d2dde3c6..aadf98ed9 100644 --- a/src/ContractionState.cxx +++ b/src/ContractionState.cxx @@ -44,12 +44,14 @@ void ContractionState::MakeValid() const { } if (sizeDocLines < linesInDisplay) { delete []docLines; - docLines = new int[linesInDisplay + growSize]; - if (docLines) { - sizeDocLines = linesInDisplay + growSize; - } else { + int *docLinesNew = new int[linesInDisplay + growSize]; + if (!docLinesNew) { + docLines = 0; + sizeDocLines = 0; return; } + docLines = docLinesNew; + sizeDocLines = linesInDisplay + growSize; } int lineInDisplay=0; diff --git a/src/Editor.cxx b/src/Editor.cxx index e8086770e..461460f69 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -3685,6 +3685,7 @@ void Editor::SetDocPointer(Document *document) { // Reset the contraction state to fully shown. cs.Clear(); cs.InsertLines(0, pdoc->LinesTotal() - 1); + NeedWrapping(); pdoc->AddWatcher(this, 0); Redraw(); |