diff --git a/bar.go b/bar.go index a50bd92..98e25fe 100644 --- a/bar.go +++ b/bar.go @@ -411,6 +411,9 @@ stat := newStatistics(tw, s) r, err := s.draw(stat) if err != nil { + for _, buf := range s.buffers { + buf.Reset() + } b.frameCh <- &renderFrame{err: err} return } @@ -481,13 +484,6 @@ } func (s *bState) draw(stat decor.Statistics) (_ io.Reader, err error) { - defer func() { - if err != nil { - for _, b := range s.buffers { - b.Reset() - } - } - }() decorFiller := func(buf *bytes.Buffer, decorators []decor.Decorator) (err error) { for _, d := range decorators { // need to call Decor in any case becase of width synchronization