redraw-worlds
send-queued-gestures ;
-SYMBOL: ui-thread
-
: ui-running ( quot -- )
t \ ui-running set-global
[ f \ ui-running set-global ] [ ] cleanup ; inline
! run one iteration of update-ui. If that also fails, well, the
! whole UI subsystem is broken so we throw the error to terminate
! the update-ui-loop.
- [ { [ ui-running? ] [ ui-thread get-global self eq? ] } 0&& ]
+ [ ui-running? ]
[
ui-notify-flag get lower-flag
[ update-ui ] [
] while ;
: start-ui-thread ( -- )
- [ self ui-thread set-global update-ui-loop ]
- "UI update" spawn drop ;
+ [ update-ui-loop ] "UI update" spawn drop ;
: start-ui ( quot -- )
call( -- ) notify-ui-thread start-ui-thread ;