m_hadEvent could be set during glfwWaitEventsTimeout and then immediately cleared before ever being checked.