Fixed test for invalid timer values.

Fixes #436 (properly).
This commit is contained in:
Camilla Berglund 2015-03-10 12:01:38 +01:00
parent 4596663232
commit 6e20cda7fd
3 changed files with 8 additions and 3 deletions

View File

@ -184,6 +184,7 @@ skills.
- Nathan Sweet - Nathan Sweet
- TTK-Bandit - TTK-Bandit
- Sergey Tikhomirov - Sergey Tikhomirov
- A. Tombs
- Samuli Tuomola - Samuli Tuomola
- urraka - urraka
- Jari Vetoniemi - Jari Vetoniemi

View File

@ -3098,10 +3098,15 @@ GLFWAPI double glfwGetTime(void);
/*! @brief Sets the GLFW timer. /*! @brief Sets the GLFW timer.
* *
* This function sets the value of the GLFW timer. It then continues to count * This function sets the value of the GLFW timer. It then continues to count
* up from that value. The value must be a positive finite number. * up from that value. The value must be a positive finite number less than
* or equal to 18446744073.0, which is approximately 584.5 years.
* *
* @param[in] time The new value, in seconds. * @param[in] time The new value, in seconds.
* *
* @remarks The upper limit of the timer is calculated as
* floor((2<sup>64</sup> - 1) / 10<sup>9</sup>) and is due to implementations
* storing nanoseconds in 64 bits. The limit may be increased in the future.
*
* @par Thread Safety * @par Thread Safety
* This function may only be called from the main thread. * This function may only be called from the main thread.
* *

View File

@ -28,7 +28,6 @@
#include "internal.h" #include "internal.h"
#include <stdlib.h> #include <stdlib.h>
#include <float.h>
#if defined(_MSC_VER) #if defined(_MSC_VER)
#include <malloc.h> #include <malloc.h>
#endif #endif
@ -593,7 +592,7 @@ GLFWAPI void glfwSetTime(double time)
{ {
_GLFW_REQUIRE_INIT(); _GLFW_REQUIRE_INIT();
if (time != time || time - DBL_MAX == time || time < 0.0) if (time != time || time < 0.0 || time > 18446744073.0)
{ {
_glfwInputError(GLFW_INVALID_VALUE, "Invalid time"); _glfwInputError(GLFW_INVALID_VALUE, "Invalid time");
return; return;