open-src/xserver/xorg/6406044.patch
author Alan Coopersmith <Alan.Coopersmith@Sun.COM>
Fri, 15 May 2009 09:36:46 -0700
changeset 705 24ca414edbff
parent 606 068c11b419c9
child 742 a11b961df2a2
permissions -rw-r--r--
6826940 Xorg server 1.6.1, Mesa 7.4.1, and associated module upgrades [PSARC 2009/292] 6837131 Can't bring up dtlogin with AST2000 driver on nvx_114 Includes fix contributed by Juergen Keil for OpenSolaris Bug #8687: german keyboard layout: umlaut keys not accepted by Xvnc http://defect.opensolaris.org/bz/show_bug.cgi?id=8687

# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
# Use subject to license terms.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, and/or sell copies of the Software, and to permit persons
# to whom the Software is furnished to do so, provided that the above
# copyright notice(s) and this permission notice appear in all copies of
# the Software and that both the above copyright notice(s) and this
# permission notice appear in supporting documentation.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Except as contained in this notice, the name of a copyright holder
# shall not be used in advertising or otherwise to promote the sale, use
# or other dealings in this Software without prior written authorization
# of the copyright holder.

Redo the patch for Xorg 1.5. The patch is helpful only for nv driver.

diff -urp -x '*~' -x '*.orig' hw/xfree86/modes/xf86EdidModes.c hw/xfree86/modes/xf86EdidModes.c
--- hw/xfree86/modes/xf86EdidModes.c	2009-01-09 09:47:04.000000000 -0800
+++ hw/xfree86/modes/xf86EdidModes.c	2009-01-22 20:35:43.666680000 -0800
@@ -794,6 +794,20 @@ xf86DDCGetModes(int scrnIndex, xf86MonPt
                                              &det_mon->section.d_timings,
 					     preferred,
 					     quirks);
+
+	    if (Mode && (DDC->features.input_type == 0) &&
+            	(((Mode->HDisplay * 5 / 4) & ~0x07) > Mode->HTotal)) {
+		struct detailed_timings *dt = &DDC->det_mon[i].section.d_timings;
+		DisplayModeRec *cvtmode;
+
+		cvtmode = xf86CVTMode(dt->h_active, dt->v_active,
+                                (double) xf86ModeVRefresh(Mode), TRUE, FALSE);
+		memcpy(Mode, cvtmode, sizeof(DisplayModeRec));
+		Mode->type       = M_T_DRIVER;
+    		if (preferred)
+		    Mode->type |= M_T_PREFERRED;
+	    }
+		
 	    preferred = FALSE;
             Modes = xf86ModesAdd(Modes, Mode);
             break;