From 2c1190f888515292de01e60fe74657c34b99fd9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Thu, 14 May 2009 11:39:16 +0200 Subject: [PATCH] randr12: Initialize and keep track of updates to VidMode extension gamma value. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This way clients querying the gamma value via the VidMode extension at least get the last value set via the same, rather than always something bogus. Signed-off-by: Michel Dänzer --- hw/xfree86/common/xf86Helper.c | 10 +++++----- hw/xfree86/modes/xf86RandR12.c | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c index 0db77178a..61b3390e2 100644 --- a/hw/xfree86/common/xf86Helper.c +++ b/hw/xfree86/common/xf86Helper.c @@ -919,11 +919,6 @@ Bool xf86SetGamma(ScrnInfoPtr scrp, Gamma gamma) { MessageType from = X_DEFAULT; - /* Pretend we succeeded if we support better a gamma system. - * This avoids a confusing message. - */ - if (xf86_crtc_supports_gamma(scrp)) - return TRUE; #if 0 xf86MonPtr DDC = (xf86MonPtr)(scrp->monitor->DDC); #endif @@ -955,6 +950,11 @@ xf86SetGamma(ScrnInfoPtr scrp, Gamma gamma) scrp->gamma.green = 1.0; scrp->gamma.blue = 1.0; } + /* Pretend we succeeded if we support better a gamma system. + * This avoids a confusing message. + */ + if (xf86_crtc_supports_gamma(scrp)) + return TRUE; xf86DrvMsg(scrp->scrnIndex, from, "Using gamma correction (%.1f, %.1f, %.1f)\n", scrp->gamma.red, scrp->gamma.green, scrp->gamma.blue); diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c index c71cfe5c3..1e3b70c09 100644 --- a/hw/xfree86/modes/xf86RandR12.c +++ b/hw/xfree86/modes/xf86RandR12.c @@ -1740,6 +1740,8 @@ xf86RandR12ChangeGamma(int scrnIndex, Gamma gamma) xfree(points); + pScrn->gamma = gamma; + return Success; }