diff --git a/renderer.go b/renderer.go index 54c9a60..65a6835 100644 --- a/renderer.go +++ b/renderer.go @@ -253,16 +253,16 @@ func (r *renderer) handleMessages(msg Msg) { r.clearIgnoredLines() case syncScrollAreaMsg: - // Clear buffer to force non-scrolling stuff to repaint - r.mtx.Lock() - r.buf.Reset() - r.mtx.Unlock() - // Re-render scrolling area r.clearIgnoredLines() r.setIgnoredLines(msg.topBoundary, msg.bottomBoundary) r.insertTop(msg.lines, msg.topBoundary, msg.bottomBoundary) + // Clear buffer to force non-scrolling stuff to repaint + r.mtx.Lock() + r.buf.Reset() + r.mtx.Unlock() + case scrollUpMsg: r.insertTop(msg.lines, msg.topBoundary, msg.bottomBoundary)