draw: no need for defer
reset buffers at draw call site
Vladimir Bauer
2 years ago
| 410 | 410 | stat := newStatistics(tw, s) |
| 411 | 411 | r, err := s.draw(stat) |
| 412 | 412 | if err != nil { |
| 413 | for _, buf := range s.buffers { | |
| 414 | buf.Reset() | |
| 415 | } | |
| 413 | 416 | b.frameCh <- &renderFrame{err: err} |
| 414 | 417 | return |
| 415 | 418 | } |
| 480 | 483 | } |
| 481 | 484 | |
| 482 | 485 | func (s *bState) draw(stat decor.Statistics) (_ io.Reader, err error) { |
| 483 | defer func() { | |
| 484 | if err != nil { | |
| 485 | for _, b := range s.buffers { | |
| 486 | b.Reset() | |
| 487 | } | |
| 488 | } | |
| 489 | }() | |
| 490 | 486 | decorFiller := func(buf *bytes.Buffer, decorators []decor.Decorator) (err error) { |
| 491 | 487 | for _, d := range decorators { |
| 492 | 488 | // need to call Decor in any case becase of width synchronization |