wait-events glfwWaitEventsTimeout further bugfixes

This commit is contained in:
Doug Binks 2025-11-21 18:20:01 +00:00
parent 4c2c30e951
commit d1d118de3e
2 changed files with 7 additions and 3 deletions

View File

@ -2182,12 +2182,17 @@ void _glfwWaitEventsWin32(void)
void _glfwWaitEventsTimeoutWin32(double timeout)
{
DWORD ret;
double timeStart, timeEnd, timeWait;
timeStart = glfwGetTime();
timeWait = timeout;
do
{
ret = MsgWaitForMultipleObjects(0, NULL, FALSE, (DWORD) (timeout * 1e3), QS_ALLINPUT);
ret = MsgWaitForMultipleObjects(0, NULL, FALSE, (DWORD) (timeWait * 1e3), QS_ALLINPUT);
_glfwPollEventsWin32();
} while (_glfw.newEventsRcvd == GLFW_FALSE && ret != WAIT_TIMEOUT);
timeEnd = glfwGetTime();
timeWait = timeout - (timeEnd - timeStart);
} while (_glfw.newEventsRcvd == GLFW_FALSE && timeWait > 0.0 );
}
void _glfwPostEmptyEventWin32(void)

View File

@ -1210,7 +1210,6 @@ GLFWAPI void glfwWaitEventsTimeout(double timeout)
}
_glfw.newEventsRcvd = GLFW_FALSE;
_glfw.platform.waitEvents();
_glfw.platform.waitEventsTimeout(timeout);
}