From eb30ba77222206847585dac75c340c320ed1d8df Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 11 Jul 2019 22:34:28 +0530 Subject: [PATCH] Cocoa: Fix code to shutdown display link for inactive monitors --- glfw/cocoa_window.m | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/glfw/cocoa_window.m b/glfw/cocoa_window.m index 688ce57bd..e2e6c8ab7 100644 --- a/glfw/cocoa_window.m +++ b/glfw/cocoa_window.m @@ -95,14 +95,10 @@ requestRenderFrame(_GLFWwindow *w, GLFWcocoarenderframefun callback) { _GLFWDisplayLinkNS *dl = &_glfw.ns.displayLinks.entries[i]; if (dl->displayID == displayID) { dl->lastRenderFrameRequestedAt = now; - if (!CVDisplayLinkIsRunning(dl->displayLink)) { - CVDisplayLinkStart(dl->displayLink); - } else { - if (dl->lastRenderFrameRequestedAt && now - dl->lastRenderFrameRequestedAt) { - if (dl->displayLink) CVDisplayLinkStop(dl->displayLink); - dl->lastRenderFrameRequestedAt = 0; - } - } + if (!CVDisplayLinkIsRunning(dl->displayLink)) CVDisplayLinkStart(dl->displayLink); + } else if (dl->displayLink && dl->lastRenderFrameRequestedAt && now - dl->lastRenderFrameRequestedAt >= DISPLAY_LINK_SHUTDOWN_CHECK_INTERVAL) { + CVDisplayLinkStop(dl->displayLink); + dl->lastRenderFrameRequestedAt = 0; } } }