Added and documented glfwSetGamma value checks.

master
Camilla Berglund ago%!(EXTRA string=11 years)
parent 76fff4d042
commit 5bbc2b4949
  1. 3
      include/GLFW/glfw3.h
  2. 6
      src/monitor.c

@ -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.

@ -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;
}

Loading…
Cancel
Save