From 2558da0b591d0334771286506f45fb9f394e4d8d Mon Sep 17 00:00:00 2001 From: Braden Pellett Date: Thu, 31 May 2012 17:01:24 -0700 Subject: [PATCH 1/2] Ignore gamma ramp get/set capabilities if size is not GLFW_GAMMA_RAMP_SIZE, similar to what happens currently for the Cocoa implementation. --- src/x11_gamma.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/x11_gamma.c b/src/x11_gamma.c index 1ca0a8c1..edd71846 100644 --- a/src/x11_gamma.c +++ b/src/x11_gamma.c @@ -111,6 +111,10 @@ 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) + return; + if (_glfwLibrary.X11.RandR.available && !_glfwLibrary.X11.RandR.gammaBroken) { @@ -153,6 +157,10 @@ 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) + return; + if (_glfwLibrary.X11.RandR.available && !_glfwLibrary.X11.RandR.gammaBroken) { From 6cb89175a7790dbcaa39d54ca863e1d28e4f84db Mon Sep 17 00:00:00 2001 From: Braden Pellett Date: Fri, 1 Jun 2012 00:08:34 -0700 Subject: [PATCH 2/2] Emit an error when gamma ramp cannot be get/set due to size not being GLFW_GAMMA_RAMP_SIZE. --- src/x11_gamma.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/x11_gamma.c b/src/x11_gamma.c index edd71846..44cd1139 100644 --- a/src/x11_gamma.c +++ b/src/x11_gamma.c @@ -113,7 +113,12 @@ void _glfwPlatformGetGammaRamp(GLFWgammaramp* ramp) { // For now, don't support anything that is not GLFW_GAMMA_RAMP_SIZE if (_glfwLibrary.originalRampSize != GLFW_GAMMA_RAMP_SIZE) - return; + { + _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) @@ -159,7 +164,12 @@ 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) - return; + { + _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)