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