mirror of
https://github.com/glfw/glfw.git
synced 2025-12-16 20:23:13 +00:00
wait-events X11 implementation
This commit is contained in:
parent
d1d118de3e
commit
e12aacb41a
@ -128,6 +128,8 @@ static void drainEmptyEvents(void)
|
|||||||
{
|
{
|
||||||
char dummy[64];
|
char dummy[64];
|
||||||
const ssize_t result = read(_glfw.x11.emptyEventPipe[0], dummy, sizeof(dummy));
|
const ssize_t result = read(_glfw.x11.emptyEventPipe[0], dummy, sizeof(dummy));
|
||||||
|
if (result > 0)
|
||||||
|
_glfw.newEventsRcvd = GLFW_TRUE;
|
||||||
if (result == -1 && errno != EINTR)
|
if (result == -1 && errno != EINTR)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -2824,14 +2826,20 @@ void _glfwPollEventsX11(void)
|
|||||||
|
|
||||||
void _glfwWaitEventsX11(void)
|
void _glfwWaitEventsX11(void)
|
||||||
{
|
{
|
||||||
waitForAnyEvent(NULL);
|
while (_glfw.newEventsRcvd == GLFW_FALSE)
|
||||||
_glfwPollEventsX11();
|
{
|
||||||
|
waitForAnyEvent(NULL);
|
||||||
|
_glfwPollEventsX11();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _glfwWaitEventsTimeoutX11(double timeout)
|
void _glfwWaitEventsTimeoutX11(double timeout)
|
||||||
{
|
{
|
||||||
waitForAnyEvent(&timeout);
|
do
|
||||||
_glfwPollEventsX11();
|
{
|
||||||
|
waitForAnyEvent(&timeout);
|
||||||
|
_glfwPollEventsX11();
|
||||||
|
} while (_glfw.newEventsRcvd == GLFW_FALSE && timeout > 0.0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void _glfwPostEmptyEventX11(void)
|
void _glfwPostEmptyEventX11(void)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user