From 566d09a5cd6452ee2e05e23d2205e7c3aa31f0da Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Mon, 15 Nov 2010 11:25:14 +1000 Subject: [PATCH] xfree86: store the screen's gamma information on init. This fixes a gamma issue on vt switch observed with KDM. VT switching away and back would result in a black screen. Avoid this by storing the current gamma information on init. https://bugzilla.redhat.com/show_bug.cgi?id=533217 Signed-off-by: Peter Hutterer Reviewed-by: Keith Packard Signed-off-by: Keith Packard --- hw/xfree86/modes/xf86RandR12.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c index f562f58f4..2fe0c47e6 100644 --- a/hw/xfree86/modes/xf86RandR12.c +++ b/hw/xfree86/modes/xf86RandR12.c @@ -1757,6 +1757,7 @@ xf86RandR12Init12 (ScreenPtr pScreen) ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; rrScrPrivPtr rp = rrGetScrPriv(pScreen); XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen); + int i; rp->rrGetInfo = xf86RandR12GetInfo12; rp->rrScreenSetSize = xf86RandR12ScreenSetSize; @@ -1786,6 +1787,9 @@ xf86RandR12Init12 (ScreenPtr pScreen) */ if (!xf86RandR12SetInfo12 (pScreen)) return FALSE; + for (i = 0; i < rp->numCrtcs; i++) { + xf86RandR12CrtcGetGamma(pScreen, rp->crtcs[i]); + } return TRUE; }