//go:build !js && !wasm && !test_web_driver // +build !js,!wasm,!test_web_driver package glfw import ( "fmt" "runtime" "fyne.io/fyne/v2" "github.com/go-gl/glfw/v3.3/glfw" ) func (d *gLDriver) initGLFW() { initOnce.Do(func() { if runtime.GOOS == "darwin" && runtime.GOARCH == "arm64" { drawOnMainThread = true } err := glfw.Init() if err != nil { fyne.LogError("failed to initialise GLFW", err) return } initCursors() d.startDrawThread() }) } func (d *gLDriver) tryPollEvents() { defer func() { if r := recover(); r != nil { fyne.LogError(fmt.Sprint("GLFW poll event error: ", r), nil) } }() glfw.PollEvents() // This call blocks while window is being resized, which prevents freeDirtyTextures from being called } func (d *gLDriver) Terminate() { glfw.Terminate() }