diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2014-09-30 23:35:51 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2014-09-30 23:35:51 -0400 |
commit | 2d3e592da3ea7517e48f4a253d3621a4a4e2a5d9 (patch) | |
tree | 84ba56e0f5d4c60ee48800546539a0c7360e2cad /libre/sdl/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch | |
parent | 77b540c3dd5583081493304a0481808cd5cb0c03 (diff) | |
parent | 272855c0b93e2c37030a145d0d502f55d6abfd00 (diff) | |
download | abslibre-2d3e592da3ea7517e48f4a253d3621a4a4e2a5d9.tar.gz abslibre-2d3e592da3ea7517e48f4a253d3621a4a4e2a5d9.tar.bz2 abslibre-2d3e592da3ea7517e48f4a253d3621a4a4e2a5d9.zip |
Merge branch 'master' of git://lukeshu.com/mirror/parabola/abslibre
Diffstat (limited to 'libre/sdl/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch')
-rw-r--r-- | libre/sdl/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/libre/sdl/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch b/libre/sdl/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch new file mode 100644 index 000000000..087a13476 --- /dev/null +++ b/libre/sdl/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch @@ -0,0 +1,44 @@ +From 4b56fa058a45b7c804d1a5fcaf7a70db0bd0581c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <petr.pisar@atlas.cz> +Date: Tue, 1 Jan 2013 21:25:15 +0100 +Subject: [PATCH] x11: Bypass SetGammaRamp when changing gamma + +Recent Xorg has broken dynamic colors setting, so calling SDL_SetGamme() +does not have any effect here. Recent means xorg-server >= 1.7, since 2010. +See <https://bugs.freedesktop.org/show_bug.cgi?id=27222>. +--- + src/video/SDL_gamma.c | 15 ++------------- + 1 files changed, 2 insertions(+), 13 deletions(-) + +diff --git a/src/video/SDL_gamma.c b/src/video/SDL_gamma.c +index 4fd0370..464ab88 100644 +--- a/src/video/SDL_gamma.c ++++ b/src/video/SDL_gamma.c +@@ -92,22 +92,11 @@ static void CalculateGammaFromRamp(float *gamma, Uint16 *ramp) + + int SDL_SetGamma(float red, float green, float blue) + { +- int succeeded; ++ int succeeded = -1; + SDL_VideoDevice *video = current_video; + SDL_VideoDevice *this = current_video; + +- succeeded = -1; +- /* Prefer using SetGammaRamp(), as it's more flexible */ +- { +- Uint16 ramp[3][256]; +- +- CalculateGammaRamp(red, ramp[0]); +- CalculateGammaRamp(green, ramp[1]); +- CalculateGammaRamp(blue, ramp[2]); +- succeeded = SDL_SetGammaRamp(ramp[0], ramp[1], ramp[2]); +- } +- if ( (succeeded < 0) && video->SetGamma ) { +- SDL_ClearError(); ++ if ( video->SetGamma ) { + succeeded = video->SetGamma(this, red, green, blue); + } + return succeeded; +-- +1.7.8.6 + |