diff --git a/area_printer.go b/area_printer.go index 9fe5a7197..721341c36 100644 --- a/area_printer.go +++ b/area_printer.go @@ -97,6 +97,9 @@ func (p *AreaPrinter) Start(text ...interface{}) (*AreaPrinter, error) { // Stop terminates the AreaPrinter immediately. // The AreaPrinter will not resolve into anything. func (p *AreaPrinter) Stop() error { + if !p.isActive { + return nil + } p.isActive = false if p.RemoveWhenDone { p.Clear() diff --git a/progressbar_printer.go b/progressbar_printer.go index 621a399b2..d4cee2fab 100644 --- a/progressbar_printer.go +++ b/progressbar_printer.go @@ -164,7 +164,7 @@ func (p *ProgressbarPrinter) Increment() *ProgressbarPrinter { return p } -// This method changed the title and re-renders the progressbar +// UpdateTitle updates the title and re-renders the progressbar func (p *ProgressbarPrinter) UpdateTitle(title string) *ProgressbarPrinter { p.Title = title p.updateProgress() diff --git a/spinner_printer.go b/spinner_printer.go index ec0a4e848..86d9c6559 100644 --- a/spinner_printer.go +++ b/spinner_printer.go @@ -161,6 +161,9 @@ func (s SpinnerPrinter) Start(text ...interface{}) (*SpinnerPrinter, error) { // Stop terminates the SpinnerPrinter immediately. // The SpinnerPrinter will not resolve into anything. func (s *SpinnerPrinter) Stop() error { + if !s.IsActive { + return nil + } s.IsActive = false if s.RemoveWhenDone { fClearLine(s.Writer)