app: don't miss driver defers

Fixes gio#281

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2021-09-30 18:19:42 +02:00
parent 6c1f9c19f5
commit d6e6ca848a
+7
View File
@@ -433,6 +433,13 @@ func (w *Window) runFuncs(d driver) {
return
}
var defers []func(d driver)
// Don't miss deferred functions when ack arrives immediately. There is one
// wakeup event per function, so one select is enough.
select {
case f := <-w.driverDefers:
defers = append(defers, f)
default:
}
// Wait for ack while running incoming runnables.
for {
select {