From 149a85dff3e7fd908c2935a6ba8784e848d53110 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Sun, 28 Sep 2014 21:30:21 -0300 Subject: sdl-1.2.15-7.parabola1: import most of Fedora's patches (FS#39227 -> https://bugs.archlinux.org/task/39227) --- ...1-Bypass-SetGammaRamp-when-changing-gamma.patch | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 libre/sdl/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch (limited to 'libre/sdl/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch') 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?= +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 . +--- + 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 + -- cgit v1.2.3