xserver: Branch 'server-1.6-branch'

Keith Packard keithp at kemper.freedesktop.org
Mon Dec 15 20:17:53 PST 2008


 hw/xfree86/modes/xf86Rotate.c |    6 ++++++
 1 file changed, 6 insertions(+)

New commits:
commit 09039fb89f3fd047f10b575e019bba6762448456
Author: Keith Packard <keithp at keithp.com>
Date:   Mon Dec 15 19:53:45 2008 -0800

    Patch brown-bag fix for bug 19017 (scrn->virtualX/virtualY 0 before PreInit)
    
    When a driver uses a crtc during device detection, the scrn has not yet been
    configured and virtualX/virtualY are still zero. This caused the X server
    to try and allocate a shadow frame buffer, which couldn't work.
    
    Detect this by checking for zero virtualX/virtualY values.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    (cherry picked from commit 063eb6743cd0d98dd52d1a9559b804381ee5144d)

diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index 88b4bdc..65a553e 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -366,6 +366,12 @@ xf86CrtcFitsScreen (xf86CrtcPtr crtc, struct pict_f_transform *crtc_to_fb)
     ScrnInfoPtr		pScrn = crtc->scrn;
     BoxRec		b;
 
+    /* When called before PreInit, the driver is
+     * presumably doing load detect
+     */
+    if (pScrn->virtualX == 0 || pScrn->virtualY == 0)
+	return TRUE;
+
     b.x1 = 0;
     b.y1 = 0;
     b.x2 = crtc->mode.HDisplay;


More information about the xorg-commit mailing list