no need for renderFrame.done
Vladimir Bauer
2 years ago
| 60 | 60 | shutdown int |
| 61 | 61 | rmOnComplete bool |
| 62 | 62 | noPop bool |
| 63 | done bool | |
| 64 | 63 | err error |
| 65 | 64 | } |
| 66 | 65 | |
| 414 | 413 | } |
| 415 | 414 | |
| 416 | 415 | func (b *Bar) render(tw int) { |
| 417 | var done bool | |
| 418 | 416 | fn := func(s *bState) { |
| 419 | 417 | var rows []io.Reader |
| 420 | 418 | stat := newStatistics(tw, s) |
| 436 | 434 | shutdown: s.shutdown, |
| 437 | 435 | rmOnComplete: s.rmOnComplete, |
| 438 | 436 | noPop: s.noPop, |
| 439 | done: done, | |
| 440 | 437 | } |
| 441 | 438 | if s.completed || s.aborted { |
| 442 | 439 | // post increment makes sure OnComplete decorators are rendered |
| 447 | 444 | select { |
| 448 | 445 | case b.operateState <- fn: |
| 449 | 446 | case <-b.done: |
| 450 | done = true | |
| 451 | 447 | fn(b.bs) |
| 452 | 448 | } |
| 453 | 449 | } |