xserver: Branch 'master'

Alan Hourihane alanh at kemper.freedesktop.org
Wed May 30 05:06:48 PDT 2007


 hw/xfree86/modes/xf86Crtc.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

New commits:
diff-tree fa877d7ff25c4ec45288e1fea70d4f5e1baf3ef3 (from 99eae8bea6724a24477375ad5b2d31cc4883cf6b)
Author: Alan Hourihane <alanh at fairlite.demon.co.uk>
Date:   Wed May 30 13:06:45 2007 +0100

    Fix mode validation against the maximum X/Y values configured
    at server startup, and not against the virtual X/Y parameters
    as they can change.
    
    This fixes an issue when canGrow is TRUE and modes get dropped
    when using the virtual X/Y parameters.

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 88c31af..d20a3a3 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -1217,8 +1217,15 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, 
     xf86CrtcConfigPtr	config = XF86_CRTC_CONFIG_PTR(scrn);
     int			o;
 
-    if (maxX == 0 || maxY == 0)
-	xf86RandR12GetOriginalVirtualSize (scrn, &maxX, &maxY);
+    /* When canGrow was TRUE in the initial configuration we have to
+     * compare against the maximum values so that we don't drop modes.
+     * When canGrow was FALSE, the maximum values would have been clamped
+     * anyway.
+     */
+    if (maxX == 0 || maxY == 0) {
+	maxX = config->maxWidth;
+	maxY = config->maxHeight;
+    }
 
     /* Elide duplicate modes before defaulting code uses them */
     xf86PruneDuplicateMonitorModes (scrn->monitor);


More information about the xorg-commit mailing list