mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-01 07:35:40 +00:00
c9d85c97e118aa643326b95c9b3a26aacc12f42f
Window.driverFunc says it can be run from any context. However, running it from the Window.run event loop may deadlock, at least until an unrelated event arrives from the driver (e.g. a mouse move). Example: Window.Invalidate is called, which caused Window.run to queue a driver func, and notify the Window.wakeups channel. However, another Window.Invalidate arrives just in time for Window.run to process that before Window.wakeups, leading to a deadlock because only one driver func can be queued. This change fixes the problem by processing wakeups before potentially queueing more driver functions. Signed-off-by: Elias Naur <mail@eliasnaur.com>
Gio - https://gioui.org
Immediate mode GUI programs in Go for Android, iOS, macOS, Linux, FreeBSD, OpenBSD, Windows, and WebAssembly (experimental).
Installation, examples, documentation
Go to gioui.org.
Issues
File bugs and TODOs through the issue tracker or send an email to ~eliasnaur/gio@todo.sr.ht. For general discussion, use the mailing list: ~eliasnaur/gio@lists.sr.ht.
Contributing
Post discussion to the mailing list and patches to gio-patches. No Sourcehut account is required and you can post without being subscribed.
See the contribution guide for more details.
An official GitHub mirror is available.
Description
Languages
Go
89.6%
C
7%
Java
1.7%
Objective-C
1.6%