Skip to content

Commit 8203a5e

Browse files
committed
fix: initialize Program fields in init method
1 parent e57786a commit 8203a5e

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

tea.go

+10-2
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,14 @@ func NewProgram[T any](model Model[T], opts ...ProgramOption[T]) *Program[T] {
307307
opt(p)
308308
}
309309

310+
return p
311+
}
312+
313+
func (p *Program[T]) init() {
314+
p.msgs = make(chan Msg)
315+
p.rendererDone = make(chan struct{})
316+
p.modes = ansi.Modes{}
317+
310318
// A context can be provided with a ProgramOption, but if none was provided
311319
// we'll use the default background context.
312320
if p.ctx == nil {
@@ -348,8 +356,6 @@ func NewProgram[T any](model Model[T], opts ...ProgramOption[T]) *Program[T] {
348356
}
349357
}
350358
}
351-
352-
return p
353359
}
354360

355361
func (p *Program[T]) handleSignals() chan struct{} {
@@ -732,6 +738,8 @@ func (p *Program[T]) Run() error {
732738
}
733739

734740
func (p *Program[T]) Start() error {
741+
p.init()
742+
735743
p.handlers = channelHandlers{}
736744
cmds := make(chan Cmd)
737745
p.errs = make(chan error)

0 commit comments

Comments
 (0)