Blame SOURCES/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch

dcf52f
From 4b56fa058a45b7c804d1a5fcaf7a70db0bd0581c Mon Sep 17 00:00:00 2001
dcf52f
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <petr.pisar@atlas.cz>
dcf52f
Date: Tue, 1 Jan 2013 21:25:15 +0100
dcf52f
Subject: [PATCH] x11: Bypass SetGammaRamp when changing gamma
dcf52f
dcf52f
Recent Xorg has broken dynamic colors setting, so calling SDL_SetGamme()
dcf52f
does not have any effect here. Recent means xorg-server >= 1.7, since 2010.
dcf52f
See <https://bugs.freedesktop.org/show_bug.cgi?id=27222>.
dcf52f
---
dcf52f
 src/video/SDL_gamma.c |   15 ++-------------
dcf52f
 1 files changed, 2 insertions(+), 13 deletions(-)
dcf52f
dcf52f
diff --git a/src/video/SDL_gamma.c b/src/video/SDL_gamma.c
dcf52f
index 4fd0370..464ab88 100644
dcf52f
--- a/src/video/SDL_gamma.c
dcf52f
+++ b/src/video/SDL_gamma.c
dcf52f
@@ -92,22 +92,11 @@ static void CalculateGammaFromRamp(float *gamma, Uint16 *ramp)
dcf52f
 
dcf52f
 int SDL_SetGamma(float red, float green, float blue)
dcf52f
 {
dcf52f
-	int succeeded;
dcf52f
+	int succeeded = -1;
dcf52f
 	SDL_VideoDevice *video = current_video;
dcf52f
 	SDL_VideoDevice *this  = current_video;	
dcf52f
 
dcf52f
-	succeeded = -1;
dcf52f
-	/* Prefer using SetGammaRamp(), as it's more flexible */
dcf52f
-	{
dcf52f
-		Uint16 ramp[3][256];
dcf52f
-
dcf52f
-		CalculateGammaRamp(red, ramp[0]);
dcf52f
-		CalculateGammaRamp(green, ramp[1]);
dcf52f
-		CalculateGammaRamp(blue, ramp[2]);
dcf52f
-		succeeded = SDL_SetGammaRamp(ramp[0], ramp[1], ramp[2]);
dcf52f
-	}
dcf52f
-	if ( (succeeded < 0) && video->SetGamma ) {
dcf52f
-		SDL_ClearError();
dcf52f
+	if ( video->SetGamma ) {
dcf52f
 		succeeded = video->SetGamma(this, red, green, blue);
dcf52f
 	}
dcf52f
 	return succeeded;
dcf52f
-- 
dcf52f
1.7.8.6
dcf52f