mirror of
https://github.com/glfw/glfw.git
synced 2025-12-16 04:03:13 +00:00
wait-events glfwWaitEventsTimeout further bugfixes
This commit is contained in:
parent
4c2c30e951
commit
d1d118de3e
@ -2182,12 +2182,17 @@ void _glfwWaitEventsWin32(void)
|
|||||||
void _glfwWaitEventsTimeoutWin32(double timeout)
|
void _glfwWaitEventsTimeoutWin32(double timeout)
|
||||||
{
|
{
|
||||||
DWORD ret;
|
DWORD ret;
|
||||||
|
double timeStart, timeEnd, timeWait;
|
||||||
|
timeStart = glfwGetTime();
|
||||||
|
timeWait = timeout;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
ret = MsgWaitForMultipleObjects(0, NULL, FALSE, (DWORD) (timeout * 1e3), QS_ALLINPUT);
|
ret = MsgWaitForMultipleObjects(0, NULL, FALSE, (DWORD) (timeWait * 1e3), QS_ALLINPUT);
|
||||||
|
|
||||||
_glfwPollEventsWin32();
|
_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)
|
void _glfwPostEmptyEventWin32(void)
|
||||||
|
|||||||
@ -1210,7 +1210,6 @@ GLFWAPI void glfwWaitEventsTimeout(double timeout)
|
|||||||
}
|
}
|
||||||
|
|
||||||
_glfw.newEventsRcvd = GLFW_FALSE;
|
_glfw.newEventsRcvd = GLFW_FALSE;
|
||||||
_glfw.platform.waitEvents();
|
|
||||||
_glfw.platform.waitEventsTimeout(timeout);
|
_glfw.platform.waitEventsTimeout(timeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user