mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-01 07:35:40 +00:00
d52632b475
loadEGL used sync.Once incorrectly: the error returned by loadDLLs was assigned to a local variable inside loadEGL, so on the second call Do would not run and the function would return nil even though the DLLs were never loaded. This caused a nil pointer dereference when callers proceeded to use _eglGetDisplay and other uninitialized function pointers. Fix by replacing the sync.Once with sync.OnceValue, which correctly caches the return value of loadDLLs across all calls. Signed-off-by: Kevin Yuan <farproc@gmail.com>