浏览代码

Fix order of error checks in glfwSetGammaRamp

Initialization should be checked before arguments.
Camilla Löwy 3 年之前
父节点
当前提交
29523dbfbf
共有 2 个文件被更改,包括 3 次插入2 次删除
  1. 1 0
      README.md
  2. 2 2
      src/monitor.c

+ 1 - 0
README.md

@@ -173,6 +173,7 @@ information on what to include when reporting a bug.
    incompatible controllers sharing hardware ID (#1763)
  - Bugfix: Native access functions for context handles did not check that the API matched
  - Bugfix: `glfwMakeContextCurrent` would access TLS slot before initialization
+ - Bugfix: `glfwSetGammaRamp` could emit `GLFW_INVALID_VALUE` before initialization
  - [Win32] Added the `GLFW_WIN32_KEYBOARD_MENU` window hint for enabling access
            to the window menu
  - [Win32] Added a version info resource to the GLFW DLL

+ 2 - 2
src/monitor.c

@@ -522,6 +522,8 @@ GLFWAPI void glfwSetGammaRamp(GLFWmonitor* handle, const GLFWgammaramp* ramp)
     assert(ramp->green != NULL);
     assert(ramp->blue != NULL);
 
+    _GLFW_REQUIRE_INIT();
+
     if (ramp->size <= 0)
     {
         _glfwInputError(GLFW_INVALID_VALUE,
@@ -530,8 +532,6 @@ GLFWAPI void glfwSetGammaRamp(GLFWmonitor* handle, const GLFWgammaramp* ramp)
         return;
     }
 
-    _GLFW_REQUIRE_INIT();
-
     if (!monitor->originalRamp.size)
     {
         if (!_glfw.platform.getGammaRamp(monitor, &monitor->originalRamp))