mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-24 02:38:53 +01:00
ui: Bug fix: closed channel never blocks
This commit is contained in:
parent
30b521f3b8
commit
8e58f3ce0a
@ -84,8 +84,12 @@ func (u *userInterface) main(ch <-chan error) error {
|
||||
// TODO: Check this is done on the main thread.
|
||||
for {
|
||||
select {
|
||||
case f := <-u.funcs:
|
||||
f()
|
||||
case f, ok := <-u.funcs:
|
||||
if ok {
|
||||
f()
|
||||
} else {
|
||||
u.funcs = nil
|
||||
}
|
||||
case err := <-ch:
|
||||
return err
|
||||
}
|
||||
@ -232,7 +236,6 @@ func (u *userInterface) Terminate() error {
|
||||
return nil
|
||||
})
|
||||
close(u.funcs)
|
||||
u.funcs = nil
|
||||
return nil
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user