diff --git a/src/x11_gamma.c b/src/x11_gamma.c index 1ca0a8c1..44cd1139 100644 --- a/src/x11_gamma.c +++ b/src/x11_gamma.c @@ -111,6 +111,15 @@ void _glfwTerminateGammaRamp(void) void _glfwPlatformGetGammaRamp(GLFWgammaramp* ramp) { + // For now, don't support anything that is not GLFW_GAMMA_RAMP_SIZE + if (_glfwLibrary.originalRampSize != GLFW_GAMMA_RAMP_SIZE) + { + _glfwSetError(GLFW_PLATFORM_ERROR, + "X11/GLX: Failed to get gamma ramp due to size " + "incompatibility"); + return; + } + if (_glfwLibrary.X11.RandR.available && !_glfwLibrary.X11.RandR.gammaBroken) { @@ -153,6 +162,15 @@ void _glfwPlatformGetGammaRamp(GLFWgammaramp* ramp) void _glfwPlatformSetGammaRamp(const GLFWgammaramp* ramp) { + // For now, don't support anything that is not GLFW_GAMMA_RAMP_SIZE + if (_glfwLibrary.originalRampSize != GLFW_GAMMA_RAMP_SIZE) + { + _glfwSetError(GLFW_PLATFORM_ERROR, + "X11/GLX: Failed to set gamma ramp due to size " + "incompatibility"); + return; + } + if (_glfwLibrary.X11.RandR.available && !_glfwLibrary.X11.RandR.gammaBroken) {