Added and documented glfwSetGamma value checks.

This commit is contained in:
Camilla Berglund 2015-03-15 15:40:43 +01:00
parent 76fff4d042
commit 5bbc2b4949
2 changed files with 5 additions and 4 deletions

View File

@ -1424,7 +1424,8 @@ GLFWAPI const GLFWvidmode* glfwGetVideoMode(GLFWmonitor* monitor);
/*! @brief Generates a gamma ramp and sets it for the specified monitor.
*
* This function generates a 256-element gamma ramp from the specified exponent
* and then calls @ref glfwSetGammaRamp with it.
* and then calls @ref glfwSetGammaRamp with it. The value must be a finite
* number greater than zero.
*
* @param[in] monitor The monitor whose gamma ramp to set.
* @param[in] gamma The desired exponent.

View File

@ -28,6 +28,7 @@
#include "internal.h"
#include <math.h>
#include <float.h>
#include <string.h>
#include <stdlib.h>
#include <limits.h>
@ -385,10 +386,9 @@ GLFWAPI void glfwSetGamma(GLFWmonitor* handle, float gamma)
_GLFW_REQUIRE_INIT();
if (gamma <= 0.f)
if (gamma != gamma || gamma <= 0.f || gamma > FLT_MAX)
{
_glfwInputError(GLFW_INVALID_VALUE,
"Gamma value must be greater than zero");
_glfwInputError(GLFW_INVALID_VALUE, "Invalid gamma value");
return;
}