From 6f11a23e6a75cc18e8dcb06accab46ae47a63f10 Mon Sep 17 00:00:00 2001 From: nikitar020 <42252263+nikitar020@users.noreply.github.com> Date: Thu, 17 Jan 2019 12:17:51 +0000 Subject: [PATCH] Fix memory leaking (#156) --- buffer/buffer.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/buffer/buffer.go b/buffer/buffer.go index b69c632..81dcb58 100644 --- a/buffer/buffer.go +++ b/buffer/buffer.go @@ -587,7 +587,8 @@ func (buffer *Buffer) Index() { buffer.lines = append(buffer.lines, newLine()) maxLines := buffer.getMaxLines() if uint64(len(buffer.lines)) > maxLines { - buffer.lines = buffer.lines[ uint64(len(buffer.lines)) - maxLines : ] + copy(buffer.lines, buffer.lines[ uint64(len(buffer.lines)) - maxLines:]) + buffer.lines = buffer.lines[:maxLines] } } else { buffer.cursorY++ @@ -968,6 +969,7 @@ func (buffer *Buffer) ResizeView(width uint16, height uint16) { if i+1 < len(buffer.lines) { nextLine := &buffer.lines[i+1] if nextLine.wrapped { + nextLine.cells = append(sillyCells, nextLine.cells...) continue }