From 74641b1941043ca01aff3b61d44c7513486ba0ab Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Thu, 26 Aug 2021 02:01:56 +0900 Subject: [PATCH] internal/uidriver/glfw: Bug fix: Update vsync every frame Closes #1787 --- internal/uidriver/glfw/ui.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/uidriver/glfw/ui.go b/internal/uidriver/glfw/ui.go index fd0247b83..dc326ae43 100644 --- a/internal/uidriver/glfw/ui.go +++ b/internal/uidriver/glfw/ui.go @@ -910,10 +910,13 @@ func (u *UserInterface) update() (float64, float64, bool, error) { // Calling this inside setWindowSize didn't work (#1363). if !u.vsyncInited { u.vsync = u.isInitVsyncEnabled() - u.updateVsync() u.vsyncInited = true } + // Call updateVsync regardless of vsyncInited. + // When toggling to fullscreen, vsync state might be reset unexpectedly (#1787). + u.updateVsync() + outsideWidth, outsideHeight, outsideSizeChanged := u.updateSize() // TODO: Updating the input can be skipped when clock.Update returns 0 (#1367).