6535006:Install Window is too small for x86 for certain monitors for snv_58 and s10u4_03
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xorg/6535006.patch Fri Apr 06 16:59:07 2007 -0700
@@ -0,0 +1,80 @@
+--- hw/xfree86/common/xf86Mode.c Tue Mar 27 17:16:56 2007
++++ hw/xfree86/common/xf86Mode.c Thu Mar 29 16:19:38 2007
+@@ -1508,14 +1508,7 @@
+ virtX = virtualX;
+ virtY = virtualY;
+ scrp->virtualFrom = X_CONFIG;
+- } else if (!modeNames || !*modeNames) {
+- /* No virtual size given in the config, try to infer */
+- /* XXX this doesn't take m{in,ax}Pitch into account; oh well */
+- inferred_virtual = inferVirtualSize(scrp, availModes, &virtX, &virtY);
+- if (inferred_virtual)
+- linePitch = miScanLineWidth(virtX, virtY, minPitch, apertureSize,
+- BankFormat, pitchInc);
+- }
++ }
+
+ /* Print clock ranges and scaled clocks */
+ xf86ShowClockRanges(scrp, clockRanges);
+@@ -1593,12 +1586,40 @@
+ xf86DeleteMode(&scrp->modes, scrp->modes);
+ endp = &scrp->modes;
+ last = NULL;
+- if (UseDefaultRate && ((modeNames == NULL) || (*modeNames == NULL))) {
+- modeNames = xnfcalloc(2, sizeof(char *));
+- modeNames[0] = strdup("1024x768");
+- modeNames[1] = NULL;
++ if ((modeNames == NULL) || (*modeNames == NULL)) {
++ if (UseDefaultRate) {
++ modeNames = xnfcalloc(2, sizeof(char *));
++ modeNames[0] = strdup("1024x768");
++ modeNames[1] = NULL;
++ } else {
++ char *mode_pref = NULL;
++ const int types[] = {
++ M_T_BUILTIN | M_T_PREFERRED,
++ M_T_USERDEF | M_T_PREFERRED,
++ M_T_DRIVER | M_T_PREFERRED
++ };
++ const int ntypes = sizeof(types) / sizeof(int);
++ int n, type;
++
++ for (n = 0; n < ntypes; n++) {
++ for (p = scrp->modePool; p != NULL; p = p->next) {
++ type = types[n];
++ if ((p->type & type) == type) {
++ mode_pref = strdup(p->name);
++ break;
++ }
++ }
++ if (mode_pref)
++ break;
++ }
++ if (mode_pref) {
++ modeNames = xnfcalloc(2, sizeof(char *));
++ modeNames[0] = strdup(mode_pref);
++ modeNames[1] = NULL;
++ }
++ }
+ }
+- if (modeNames != NULL) {
++ if ((modeNames != NULL) && (*modeNames != NULL)) {
+ for (i = 0; modeNames[i] != NULL; i++) {
+ userModes = TRUE;
+ new = xnfcalloc(1, sizeof(DisplayModeRec));
+@@ -1613,6 +1634,15 @@
+ }
+ }
+
++ if ((virtualY = 0) && (!modeNames || !*modeNames)) {
++ /* No virtual size given in the config, try to infer */
++ /* XXX this doesn't take m{in,ax}Pitch into account; oh well */
++ inferred_virtual = inferVirtualSize(scrp, availModes, &virtX, &virtY);
++ if (inferred_virtual)
++ linePitch = miScanLineWidth(virtX, virtY, minPitch, apertureSize,
++ BankFormat, pitchInc);
++ }
++
+ /* Lookup each mode */
+ #ifdef RANDR
+ if (!xf86Info.disableRandR
--- a/open-src/xserver/xorg/Makefile Fri Apr 06 12:35:27 2007 -0700
+++ b/open-src/xserver/xorg/Makefile Fri Apr 06 16:59:07 2007 -0700
@@ -30,7 +30,7 @@
# or other dealings in this Software without prior written authorization
# of the copyright holder.
#
-# @(#)Makefile 1.37 07/03/21
+# @(#)Makefile 1.38 07/04/05
#
PWD:sh=pwd
@@ -95,7 +95,8 @@
6406044.patch \
cfbmskbits.patch \
xf86ModesAdd.patch \
- lg3d.patch
+ lg3d.patch \
+ 6535006.patch
# Directory created by unpacking source
SOURCE_DIR=$(BUILD_DIR)/$(MODULE_NAME)-$(XORGSERVER_VERS)