diff options
Diffstat (limited to 'x11-base')
-rw-r--r-- | x11-base/xfree/files/4.0.2/glibc-2.2.2-ClockP.diff | 10 | ||||
-rw-r--r-- | x11-base/xfree/files/4.0.2/xfree-4.0.2-r3.diff | 3881 | ||||
-rw-r--r-- | x11-base/xfree/xfree-4.0.2-r3.ebuild | 74 |
3 files changed, 3965 insertions, 0 deletions
diff --git a/x11-base/xfree/files/4.0.2/glibc-2.2.2-ClockP.diff b/x11-base/xfree/files/4.0.2/glibc-2.2.2-ClockP.diff new file mode 100644 index 000000000000..34f6f048a589 --- /dev/null +++ b/x11-base/xfree/files/4.0.2/glibc-2.2.2-ClockP.diff @@ -0,0 +1,10 @@ +--- xc/programs/xclock/ClockP.h~ Tue Nov 7 00:05:41 2000 ++++ xc/programs/xclock/ClockP.h Tue Feb 20 00:58:10 2001 +@@ -52,6 +52,7 @@ + + #include <X11/Xos.h> /* Needed for struct tm. */ + #include "Clock.h" ++#include <time.h> + #include <X11/Xaw/SimpleP.h> + + #define SEG_BUFF_SIZE 128 diff --git a/x11-base/xfree/files/4.0.2/xfree-4.0.2-r3.diff b/x11-base/xfree/files/4.0.2/xfree-4.0.2-r3.diff new file mode 100644 index 000000000000..f29cc59936d4 --- /dev/null +++ b/x11-base/xfree/files/4.0.2/xfree-4.0.2-r3.diff @@ -0,0 +1,3881 @@ +Index: config/cf/FreeBSD.cf +=================================================================== +RCS file: /cvs/xc/config/cf/FreeBSD.cf,v +retrieving revision 3.101 +retrieving revision 3.101.2.1 +diff -U3 -r3.101 -r3.101.2.1 +--- config/cf/FreeBSD.cf 2000/12/04 18:49:09 3.101 ++++ config/cf/FreeBSD.cf 2001/01/22 19:49:12 3.101.2.1 +@@ -2,7 +2,7 @@ + XCOMM + XCOMM + XCOMM +-XCOMM platform: $XFree86: xc/config/cf/FreeBSD.cf,v 3.101 2000/12/04 18:49:09 dawes Exp $ ++XCOMM platform: $XFree86: xc/config/cf/FreeBSD.cf,v 3.101.2.1 2001/01/22 19:49:12 dawes Exp $ + + #ifndef UseElfFormat + #define UseElfFormat DefaultToElfFormat +@@ -59,6 +59,12 @@ + #define HasNCurses YES + #define HasVarRun YES + #define HasVarDb YES ++ ++#if (OSMajorVersion > 1) ++#define InstallXloadSetGID NO ++#else ++#define InstallXloadSetGID YES ++#endif + + #define AvoidNullMakeCommand YES + #define StripInstalledPrograms YES +Index: config/cf/Imake.rules +=================================================================== +RCS file: /cvs/xc/config/cf/Imake.rules,v +retrieving revision 3.86 +retrieving revision 3.86.2.1 +diff -U3 -r3.86 -r3.86.2.1 +--- config/cf/Imake.rules 2000/12/12 17:05:30 3.86 ++++ config/cf/Imake.rules 2001/01/27 20:08:17 3.86.2.1 +@@ -5,7 +5,7 @@ + XCOMM + XCOMM + XCOMM +-XCOMM rules: $XFree86: xc/config/cf/Imake.rules,v 3.86 2000/12/12 17:05:30 dawes Exp $ ++XCOMM rules: $XFree86: xc/config/cf/Imake.rules,v 3.86.2.1 2001/01/27 20:08:17 herrb Exp $ + + /* + * MACHINE-INDEPENDENT RULES; DO NOT MODIFY +@@ -1217,7 +1217,7 @@ + InstallHtmlManPageAliases(file,aliases,$(MANSUFFIX)) @@\ + @@\ + install.man:: @@\ +- @(TMP=/tmp/tmp.$$$$; \ @@\ ++ @(TMP=#tmp.$$$$; \ @@\ + RemoveFile($${TMP}); \ @@\ + echo .so `basename destdir`/file.$(MANSUFFIX) > $${TMP}; \ @@\ + for i in aliases; do (set -x; \ @@\ +@@ -1258,7 +1258,7 @@ + InstallHtmlManPageAliases(file,aliases,suffix) @@\ + @@\ + install.man:: @@\ +- @(TMP=/tmp/tmp.$$$$; \ @@\ ++ @(TMP=#tmp.$$$$; \ @@\ + RemoveFile($${TMP}); \ @@\ + echo .so `basename destdir`/file.suffix > $${TMP}; \ @@\ + for i in aliases; do (set -x; \ @@\ +Index: config/cf/NetBSD.cf +=================================================================== +RCS file: /cvs/xc/config/cf/NetBSD.cf,v +retrieving revision 3.87 +retrieving revision 3.87.2.2 +diff -U3 -r3.87 -r3.87.2.2 +--- config/cf/NetBSD.cf 2000/12/03 16:14:08 3.87 ++++ config/cf/NetBSD.cf 2001/02/11 21:51:42 3.87.2.2 +@@ -2,7 +2,7 @@ + + + +-XCOMM platform: $XFree86: xc/config/cf/NetBSD.cf,v 3.87 2000/12/03 16:14:08 herrb Exp $ ++XCOMM platform: $XFree86: xc/config/cf/NetBSD.cf,v 3.87.2.2 2001/02/11 21:51:42 herrb Exp $ + + + #ifndef OSName +@@ -67,10 +67,19 @@ + (OSMajorVersion == 1 && OSMinorVersion < 2))) + #define HasMkstemp YES + #endif ++/* But the standalone mktemp doesn't exist before NetBSD 1.5*/ ++#if (OSMajorVersion == 0 || (OSMajorVersion == 1 && OSMinorVersion <= 4)) ++# define HasMktemp NO ++#else ++# define HasMktemp YES ++#endif ++ + #define HasUsableFileMmap YES + + #define HasVarRun YES + #define HasVarDb YES ++ ++#define InstallXloadSetGID NO + + /* Defines for using the GNU pth thread library -- experimental */ + +Index: config/cf/OpenBSD.cf +=================================================================== +RCS file: /cvs/xc/config/cf/OpenBSD.cf,v +retrieving revision 3.44 +retrieving revision 3.44.2.2 +diff -U3 -r3.44 -r3.44.2.2 +--- config/cf/OpenBSD.cf 2000/12/02 20:15:03 3.44 ++++ config/cf/OpenBSD.cf 2001/02/11 18:03:47 3.44.2.2 +@@ -1,4 +1,4 @@ +-XCOMM platform: $XFree86: xc/config/cf/OpenBSD.cf,v 3.44 2000/12/02 20:15:03 herrb Exp $ ++XCOMM platform: $XFree86: xc/config/cf/OpenBSD.cf,v 3.44.2.2 2001/02/11 18:03:47 herrb Exp $ + XCOMM + + #ifndef OSName +@@ -72,6 +72,8 @@ + #define HasVarRun YES + #define HasVarDb YES + ++#define InstallXloadSetGID NO ++ + #ifndef HasLibPthread + #define HasLibPthread NO + #endif +@@ -147,7 +149,7 @@ + # define LdPostLib /**/ + # define ServerExtraDefines GccGasOption XFree86ServerDefines + # ifndef XFree86ConsoleDefines +-# define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT ++# define XFree86ConsoleDefines -DPCCONS_SUPPORT -DWSCONS_SUPPORT -DPCVT_SUPPORT + # endif + #endif + +@@ -424,8 +426,10 @@ + # endif + + /* Support for USB Mices */ +-# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 6) +-# define UsbMouseSupport YES ++# ifndef UsbMouseSupport ++# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 6) ++# define UsbMouseSupport YES ++# endif + # endif + + /* +Index: config/cf/X11.tmpl +=================================================================== +RCS file: /cvs/xc/config/cf/X11.tmpl,v +retrieving revision 1.93 +retrieving revision 1.93.2.1 +diff -U3 -r1.93 -r1.93.2.1 +--- config/cf/X11.tmpl 2000/12/15 18:18:04 1.93 ++++ config/cf/X11.tmpl 2001/01/22 19:49:17 1.93.2.1 +@@ -5,7 +5,7 @@ + XCOMM + XCOMM + XCOMM +-XCOMM $XFree86: xc/config/cf/X11.tmpl,v 1.93 2000/12/15 18:18:04 keithp Exp $ ++XCOMM $XFree86: xc/config/cf/X11.tmpl,v 1.93.2.1 2001/01/22 19:49:17 dawes Exp $ + + /*************************************************************************** + * * +@@ -339,6 +339,9 @@ + #ifndef InstallXtermSetUID + #define InstallXtermSetUID YES /* xterm needs to be set uid */ + #endif ++#ifndef InstallXloadSetGID ++#define InstallXloadSetGID YES /* xload often needs set gid kmem */ ++#endif + #ifndef InstallXinitConfig + #define InstallXinitConfig NO /* install sample xinit config */ + #endif +@@ -358,6 +361,12 @@ + #ifndef InstallAppDefFiles + #define InstallAppDefFiles YES /* install application defaults */ + #endif ++#ifndef UseConfDirForAppDefaults ++#define UseConfDirForAppDefaults YES ++#endif ++#ifndef UseConfDirForXkb ++#define UseConfDirForXkb YES ++#endif + #ifndef CompressAllFonts + #define CompressAllFonts NO + #endif +@@ -2347,6 +2356,7 @@ + * if the InstallAppDefFiles configuration parameter is set. + */ + #ifndef InstallAppDefaultsLong ++#if UseConfDirForAppDefaults + #if InstallAppDefFiles + #define InstallAppDefaultsLong(file,class) @@\ + LinkConfDirectory(app-defaults,.,app-defaults,.) @@\ +@@ -2356,6 +2366,15 @@ + LinkConfDirectory(app-defaults,.,app-defaults,.) @@\ + InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class) + #endif /* InstallAppDefFiles */ ++#else /* UseConfDirForAppDefaults */ ++#if InstallAppDefFiles ++#define InstallAppDefaultsLong(file,class) @@\ ++InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class) ++#else ++#define InstallAppDefaultsLong(file,class) @@\ ++InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class) ++#endif /* InstallAppDefFiles */ ++#endif /* UseConfDirForAppDefaults */ + #endif /* InstallAppDefaultsLong */ + + /* +Index: config/cf/linux.cf +=================================================================== +RCS file: /cvs/xc/config/cf/linux.cf,v +retrieving revision 3.157 +retrieving revision 3.157.2.1 +diff -U3 -r3.157 -r3.157.2.1 +--- config/cf/linux.cf 2000/12/14 17:00:46 3.157 ++++ config/cf/linux.cf 2001/01/22 19:49:19 3.157.2.1 +@@ -4,7 +4,7 @@ + + + +-XCOMM platform: $XFree86: xc/config/cf/linux.cf,v 3.157 2000/12/14 17:00:46 dawes Exp $ ++XCOMM platform: $XFree86: xc/config/cf/linux.cf,v 3.157.2.1 2001/01/22 19:49:19 dawes Exp $ + + #ifndef LinuxElfDefault + # define LinuxElfDefault YES +@@ -215,6 +215,10 @@ + # ifndef HasLibCrypt + # define HasLibCrypt NO + # endif ++#endif ++ ++#ifndef InstallXloadSetGID ++#define InstallXloadSetGID NO + #endif + + /* <linux/input.h> support mainly for USB support */ +Index: config/cf/osf1.cf +=================================================================== +RCS file: /cvs/xc/config/cf/osf1.cf,v +retrieving revision 3.6 +retrieving revision 3.6.8.1 +diff -U3 -r3.6 -r3.6.8.1 +--- config/cf/osf1.cf 1997/06/11 12:24:18 3.6 ++++ config/cf/osf1.cf 2001/01/22 19:49:23 3.6.8.1 +@@ -35,6 +35,9 @@ + #define ShLibDir /usr/shlib + #define SharedLibPex NO /* losing, no shared -lm */ + #endif ++ ++#define InstallXloadSetGID NO ++ + #define ThreadedX ModernOSF1 + + #if ThreadedX +Index: config/cf/xf86site.def +=================================================================== +RCS file: /cvs/xc/config/cf/xf86site.def,v +retrieving revision 3.170 +retrieving revision 3.170.2.1 +diff -U3 -r3.170 -r3.170.2.1 +--- config/cf/xf86site.def 2000/12/14 16:38:45 3.170 ++++ config/cf/xf86site.def 2001/02/11 21:51:44 3.170.2.1 +@@ -1,4 +1,4 @@ +-XCOMM $XFree86: xc/config/cf/xf86site.def,v 3.170 2000/12/14 16:38:45 dawes Exp $ ++XCOMM $XFree86: xc/config/cf/xf86site.def,v 3.170.2.1 2001/02/11 21:51:44 herrb Exp $ + /******************************************************************************/ + /* + * This file is to provide a quick method for most people to change the +@@ -748,4 +748,9 @@ + #define X86EMU_LIBPATH /usr/local/lib + */ + +- ++/* ++ * By default, gccmakedep uses mktemp for security reasons. ++ * Uncomment this, if your system lacks mktemp. ++ * ++#define HasMktemp NO ++ */ +Index: config/cf/xfree86.cf +=================================================================== +RCS file: /cvs/xc/config/cf/xfree86.cf,v +retrieving revision 3.338 +retrieving revision 3.338.2.1 +diff -U3 -r3.338 -r3.338.2.1 +--- config/cf/xfree86.cf 2000/12/14 16:59:06 3.338 ++++ config/cf/xfree86.cf 2001/02/11 21:51:43 3.338.2.1 +@@ -1,4 +1,4 @@ +-XCOMM $XFree86: xc/config/cf/xfree86.cf,v 3.338 2000/12/14 16:59:06 dawes Exp $ ++XCOMM $XFree86: xc/config/cf/xfree86.cf,v 3.338.2.1 2001/02/11 21:51:43 herrb Exp $ + /* + * This configuration file contains all of the configuration + * information for the XFree86 based X Servers. +@@ -1287,6 +1287,10 @@ + # ifndef Has3DNowSupport + # define Has3DNowSupport NO + # endif ++#endif ++ ++#ifndef HasMktemp ++#define HasMktemp YES + #endif + + #include <xf86.rules> +Index: config/util/Imakefile +=================================================================== +RCS file: /cvs/xc/config/util/Imakefile,v +retrieving revision 3.29 +retrieving revision 3.29.2.1 +diff -U3 -r3.29 -r3.29.2.1 +--- config/util/Imakefile 2000/12/06 15:35:01 3.29 ++++ config/util/Imakefile 2001/02/11 21:51:46 3.29.2.1 +@@ -1,5 +1,5 @@ + XCOMM $XConsortium: Imakefile /main/16 1996/11/13 14:43:28 lehors $ +-XCOMM $XFree86: xc/config/util/Imakefile,v 3.29 2000/12/06 15:35:01 eich Exp $ ++XCOMM $XFree86: xc/config/util/Imakefile,v 3.29.2.1 2001/02/11 21:51:46 herrb Exp $ + + #if UseCCMakeDepend + MDEP_PROG = makedepend +@@ -18,6 +18,10 @@ + LNDIR_PROG = ProgramTargetName(lndir) + #endif + ++#if HasMktemp ++MKTEMPDEFINE = -DHAS_MKTEMP ++#endif ++ + #if BuildRman + RMAN_PROG = ProgramTargetName(rman) + #endif +@@ -64,10 +68,10 @@ + #endif + + CppScriptTarget(xmkmf,xmkmf.cpp,-DCONFIGDIRSPEC='"'"-I$(CONFIGDIR)"'"',$(ICONFIGFILES)) +-CppScriptTarget(makedepend,mdepend.cpp,-DPREPROC='"'"$(PREPROCESSCMD_MKDEPEND)"'"',$(ICONFIGFILES)) ++CppScriptTarget(makedepend,mdepend.cpp,$(MKTEMPDEFINE) -DPREPROC='"'"$(PREPROCESSCMD_MKDEPEND)"'"',$(ICONFIGFILES)) + CppScriptTarget(mergelib,mergelib.cpp,"-DARCMD=$(AR)" "-DRANLIB=$(RANLIB)",$(ICONFIGFILES)) + #ifndef OS2Architecture +-CppScriptTarget(gccmakedep,gccmdep.cpp,-DCCCMD='"'"$(GCCCMD)"'"' -DRMCMD='"'"$(RM)"'"' -DLNCMD='"'"$(LN)"'"' -DMVCMD='"'"$(MV)"'"',$(ICONFIGFILES)) ++CppScriptTarget(gccmakedep,gccmdep.cpp,$(MKTEMPDEFINE) -DCCCMD='"'"$(GCCCMD)"'"' -DRMCMD='"'"$(RM)"'"' -DLNCMD='"'"$(LN)"'"' -DMVCMD='"'"$(MV)"'"',$(ICONFIGFILES)) + #endif + + #ifndef OpenBSDArchitecture +Index: config/util/gccmdep.cpp +=================================================================== +RCS file: /cvs/xc/config/util/gccmdep.cpp,v +retrieving revision 3.5 +retrieving revision 3.5.2.1 +diff -U3 -r3.5 -r3.5.2.1 +--- config/util/gccmdep.cpp 2000/11/14 21:59:21 3.5 ++++ config/util/gccmdep.cpp 2001/01/27 20:07:33 3.5.2.1 +@@ -3,7 +3,7 @@ + XCOMM + XCOMM makedepend which uses 'gcc -M' + XCOMM +-XCOMM $XFree86: xc/config/util/gccmdep.cpp,v 3.5 2000/11/14 21:59:21 dawes Exp $ ++XCOMM $XFree86: xc/config/util/gccmdep.cpp,v 3.5.2.1 2001/01/27 20:07:33 herrb Exp $ + XCOMM + XCOMM Based on mdepend.cpp and code supplied by Hongjiu Lu <hjl@nynexst.com> + XCOMM +@@ -14,6 +14,18 @@ + LN=LNCMD + MV=MVCMD + ++XCOMM Security: if $tmp exists exit immediately ++rm -f ${TMP} ++if [ -e ${TMP} ] ; then ++ echo "$0: ${TMP} exists already, exit." 1>&2 ++ exit 1; ++fi ++#if defined(HAS_MKTEMP) ++if [ -n "`type -p mktemp`" ] ; then ++ TMP="`mktemp ${TMP}.XXXXXX`" || exit 1 ++fi ++#endif ++ + trap "$RM ${TMP}*; exit 1" 1 2 15 + trap "$RM ${TMP}*; exit 0" 1 2 13 + +@@ -33,7 +45,7 @@ + -D*|-I*) + args="$args '$1'" + ;; +- -g|-O*) ++ -g|-O) + ;; + *) + if [ "$endmarker"x = x ]; then +Index: config/util/mdepend.cpp +=================================================================== +RCS file: /cvs/xc/config/util/mdepend.cpp,v +retrieving revision 3.3 +retrieving revision 3.3.2.1 +diff -U3 -r3.3 -r3.3.2.1 +--- config/util/mdepend.cpp 2000/08/08 03:16:26 3.3 ++++ config/util/mdepend.cpp 2001/02/11 21:51:47 3.3.2.1 +@@ -22,7 +22,7 @@ + XCOMM USG users will probably have to change "silent" to "-s" instead of + XCOMM "-" (at least, that is what the documentation implies). + XCOMM +-XCOMM $XFree86: xc/config/util/mdepend.cpp,v 3.3 2000/08/08 03:16:26 dawes Exp $ ++XCOMM $XFree86: xc/config/util/mdepend.cpp,v 3.3.2.1 2001/02/11 21:51:47 herrb Exp $ + XCOMM + + CC=PREPROC +@@ -35,6 +35,18 @@ + TMPMAKEFILE=${TMP}c + MAGICLINE=${TMP}d + ARGS=${TMP}e ++ ++XCOMM Security: if $tmp exists exit immediately ++rm -f ${TMP} ++if [ -e ${TMP} ] ; then ++ echo "$0: ${TMP} exists already, exit." 1>&2 ++ exit 1; ++fi ++#if defined(HAS_MKTEMP) ++if [ -n "`type -p mktemp`" ] ; then ++ TMP="`mktemp ${TMP}.XXXXXX`" || exit 1 ++fi ++#endif + + trap "rm -f ${TMP}*; exit 1" 1 2 15 + trap "rm -f ${TMP}*; exit 0" 1 2 13 +Index: extras/rman/rman.c +=================================================================== +RCS file: /cvs/xc/extras/rman/rman.c,v +retrieving revision 1.12 +retrieving revision 1.12.2.1 +diff -U3 -r1.12 -r1.12.2.1 +--- extras/rman/rman.c 2000/12/01 18:48:08 1.12 ++++ extras/rman/rman.c 2000/12/21 19:01:07 1.12.2.1 +@@ -16,7 +16,7 @@ + source interpretation added September 24, 1996 + renamed PolyglotMan due to lawsuit by Rosetta, Inc. August 8, 1997 + */ +-/* $XFree86: xc/extras/rman/rman.c,v 1.12 2000/12/01 18:48:08 dawes Exp $ */ ++/* $XFree86: xc/extras/rman/rman.c,v 1.12.2.1 2000/12/21 19:01:07 dawes Exp $ */ + + + /* TO DO **** +@@ -474,12 +474,14 @@ + { + char *p0; + static char *nonhref = "\">'"; ++ static char *punct = ".,:;)]}?!"; + + while (*p==' ') p++; + if (strincmp(p,"http",4)==0) { + href="%s"; manrefname = p; + p+=4; + while (*p && !isspace(*p) && !strchr(nonhref,*p)) p++; ++ while (strchr(punct, *(p - 1))) p--; + } else { + href = manRef; + +Index: lib/Xaw/AsciiSrc.c +=================================================================== +RCS file: /cvs/xc/lib/Xaw/AsciiSrc.c,v +retrieving revision 1.25 +retrieving revision 1.25.2.1 +diff -U3 -r1.25 -r1.25.2.1 +--- lib/Xaw/AsciiSrc.c 2000/11/28 17:25:09 1.25 ++++ lib/Xaw/AsciiSrc.c 2001/01/27 20:06:11 1.25.2.1 +@@ -22,7 +22,7 @@ + + */ + +-/* $XFree86: xc/lib/Xaw/AsciiSrc.c,v 1.25 2000/11/28 17:25:09 dawes Exp $ */ ++/* $XFree86: xc/lib/Xaw/AsciiSrc.c,v 1.25.2.1 2001/01/27 20:06:11 herrb Exp $ */ + + /* + * AsciiSrc.c - AsciiSrc object. (For use with the text widget). +@@ -1456,7 +1456,7 @@ + open_mode = O_WRONLY | O_CREAT | O_EXCL; + fdopen_mode = "w"; + } +- else ++ else { + /* O_NOFOLLOW is a FreeBSD & Linux extension */ + #ifdef O_NOFOLLOW + open_mode = O_RDWR | O_NOFOLLOW; +@@ -1464,6 +1464,7 @@ + open_mode = O_RDWR; /* unsafe; subject to race conditions */ + #endif /* O_NOFOLLOW */ + fdopen_mode = "r+"; ++ } + break; + default: + XtErrorMsg("badMode", "asciiSourceCreate", "XawError", +Index: lib/Xaw/Form.c +=================================================================== +RCS file: /cvs/xc/lib/Xaw/Form.c,v +retrieving revision 1.18 +retrieving revision 1.18.2.1 +diff -U3 -r1.18 -r1.18.2.1 +--- lib/Xaw/Form.c 2000/10/26 17:57:49 1.18 ++++ lib/Xaw/Form.c 2001/02/09 20:45:08 1.18.2.1 +@@ -1,4 +1,4 @@ +-/* $TOG: Form.c /main/54 1998/05/14 14:55:45 kaleb $ */ ++/* $Xorg: Form.c,v 1.3 2000/08/17 19:45:32 cpqbld Exp $ */ + + /*********************************************************** + +@@ -43,7 +43,7 @@ + + ******************************************************************/ + +-/* $XFree86: xc/lib/Xaw/Form.c,v 1.18 2000/10/26 17:57:49 dawes Exp $ */ ++/* $XFree86: xc/lib/Xaw/Form.c,v 1.18.2.1 2001/02/09 20:45:08 paulo Exp $ */ + + #include <X11/IntrinsicP.h> + #include <X11/StringDefs.h> +@@ -582,6 +582,11 @@ + always_resize_children = + ChangeFormGeometry((Widget)fw, False, maxx, maxy, NULL, NULL); + ++#ifdef OLDXAW ++ fw->form.old_width = fw->core.width; ++ fw->form.old_height = fw->core.height; ++#endif ++ + if (force_relayout) + ret_val = True; + else +@@ -656,7 +661,6 @@ + static void + LayoutChild(Widget w) + { +- FormWidget fw = (FormWidget)XtParent(w); + FormConstraints form = (FormConstraints)w->core.constraints; + Widget ref; + +@@ -684,22 +688,16 @@ + form->form.new_y = form->form.dy; + if ((ref = form->form.horiz_base) != NULL) { + FormConstraints ref_form = (FormConstraints)ref->core.constraints; +- Dimension width; + + LayoutChild(ref); +- width = fw->form.old_width ? +- ref_form->form.virtual_width : XtWidth(ref); +- form->form.new_x += ref_form->form.new_x + width + ++ form->form.new_x += ref_form->form.new_x + XtWidth(ref) + + (XtBorderWidth(ref) << 1); + } + if ((ref = form->form.vert_base) != NULL) { + FormConstraints ref_form = (FormConstraints)ref->core.constraints; +- Dimension height; + + LayoutChild(ref); +- height = fw->form.old_height ? +- ref_form->form.virtual_height : XtHeight(ref); +- form->form.new_y += ref_form->form.new_y + height + ++ form->form.new_y += ref_form->form.new_y + XtHeight(ref) + + (XtBorderWidth(ref) << 1); + } + +@@ -891,8 +889,6 @@ + * The window will be updated when no_refigure is set back + * to False + */ +- form->form.virtual_width = XtWidth(w); +- form->form.virtual_height = XtHeight(w); + form->form.deferred_resize = True; + ret_val = XtGeometryDone; + } +@@ -902,6 +898,8 @@ + /* + * Resets everything. + */ ++ fw->form.old_width = XtWidth(fw); ++ fw->form.old_height = XtHeight(fw); + for (childP = children; childP - children < num_children; childP++) { + Widget nw = *childP; + +@@ -916,8 +914,6 @@ + nform->form.virtual_height = XtHeight(nw); + } + } +- fw->form.old_width = XtWidth(fw); +- fw->form.old_height = XtHeight(fw); + } + else { + XtWidth(w) = old_width; +@@ -1022,23 +1018,21 @@ + (*((FormWidgetClass)w->core.widget_class)->form_class.layout) + (fw, XtWidth(w), XtHeight(w), True); + +- if (!fw->form.old_width || !fw->form.old_height) { +- fw->form.old_width = XtWidth(w); +- fw->form.old_height = XtHeight(w); +- for (children = childP = fw->composite.children; +- childP - children < num_children; +- childP++) { +- child = *childP; +- if (!XtIsManaged(child)) +- continue; +- form = (FormConstraints)child->core.constraints; ++ fw->form.old_width = XtWidth(w); ++ fw->form.old_height = XtHeight(w); ++ for (children = childP = fw->composite.children; ++ childP - children < num_children; ++ childP++) { ++ child = *childP; ++ if (!XtIsManaged(child)) ++ continue; ++ form = (FormConstraints)child->core.constraints; + #ifndef OLDXAW +- form->form.virtual_x = XtX(child); +- form->form.virtual_y = XtY(child); ++ form->form.virtual_x = XtX(child); ++ form->form.virtual_y = XtY(child); + #endif +- form->form.virtual_width = XtWidth(child); +- form->form.virtual_height = XtHeight(child); +- } ++ form->form.virtual_width = XtWidth(child); ++ form->form.virtual_height = XtHeight(child); + } + } + +Index: lib/Xaw/MultiSrc.c +=================================================================== +RCS file: /cvs/xc/lib/Xaw/MultiSrc.c,v +retrieving revision 1.19 +retrieving revision 1.19.2.1 +diff -U3 -r1.19 -r1.19.2.1 +--- lib/Xaw/MultiSrc.c 1999/07/19 13:36:02 1.19 ++++ lib/Xaw/MultiSrc.c 2001/01/27 20:06:56 1.19.2.1 +@@ -27,7 +27,7 @@ + * + * Much code taken from X11R3 String and Disk Sources. + */ +-/* $XFree86: xc/lib/Xaw/MultiSrc.c,v 1.19 1999/07/19 13:36:02 dawes Exp $ */ ++/* $XFree86: xc/lib/Xaw/MultiSrc.c,v 1.19.2.1 2001/01/27 20:06:56 herrb Exp $ */ + + /* + +@@ -67,6 +67,10 @@ + #include "XawI18n.h" + #include "Private.h" + ++#include <sys/types.h> ++#include <sys/stat.h> ++#include <fcntl.h> ++ + #define MAGIC_VALUE ((XawTextPosition)-1) + #define streq(a, b) (strcmp((a), (b)) == 0) + +@@ -1158,7 +1162,9 @@ + static FILE * + InitStringOrFile(MultiSrcObject src, Bool newString) + { +- char *open_mode = NULL; ++ mode_t open_mode; ++ const char *fdopen_mode = NULL; ++ int fd; + FILE *file; + char fileName[TMPSIZ]; + Display *d = XtDisplayOfObject((Widget)src); +@@ -1208,7 +1214,8 @@ + XtErrorMsg("NoFile", "multiSourceCreate", "XawError", + "Creating a read only disk widget and no file specified.", + NULL, 0); +- open_mode = "r"; ++ open_mode = O_RDONLY; ++ fdopen_mode = "r"; + break; + case XawtextAppend: + case XawtextEdit: +@@ -1218,10 +1225,18 @@ + + (void)tmpnam((char *)src->multi_src.string); + src->multi_src.is_tempfile = True; +- open_mode = "w"; ++ open_mode = O_WRONLY | O_CREAT | O_EXCL; ++ fdopen_mode = "w"; + } +- else +- open_mode = "r+"; ++ else { ++/* O_NOFOLLOW is a BSD & Linux extension */ ++#ifdef O_NOFOLLOW ++ open_mode = O_RDWR | O_NOFOLLOW; ++#else ++ open_mode = O_RDWR; /* unsafe; subject to race conditions */ ++#endif ++ fdopen_mode = "r+"; ++ } + break; + default: + XtErrorMsg("badMode", "multiSourceCreate", "XawError", +@@ -1243,12 +1258,14 @@ + } + + if (!src->multi_src.is_tempfile) { +- if ((file = fopen((char *)src->multi_src.string, open_mode)) != NULL) { +- (void)fseek(file, 0, 2); +- src->multi_src.length = ftell(file); +- return file; ++ if ((fd = open((char *)src->multi_src.string, open_mode, 0666)) != 0) { ++ if ((file = fdopen(fd, fdopen_mode)) != NULL) { ++ (void)fseek(file, 0, SEEK_END); ++ src->multi_src.length = (XawTextPosition)ftell(file); ++ return(file); ++ } + } +- else { ++ { + String params[2]; + Cardinal num_params = 2; + +@@ -1258,7 +1275,7 @@ + "openError", "multiSourceCreate", "XawWarning", + "Cannot open file %s; %s", params, &num_params); + } +- } ++ } + src->multi_src.length = 0; + return (NULL); + } +Index: lib/Xaw/Pixmap.c +=================================================================== +RCS file: /cvs/xc/lib/Xaw/Pixmap.c,v +retrieving revision 3.15 +retrieving revision 3.15.2.1 +diff -U3 -r3.15 -r3.15.2.1 +--- lib/Xaw/Pixmap.c 2000/09/26 15:56:54 3.15 ++++ lib/Xaw/Pixmap.c 2001/02/09 20:45:09 3.15.2.1 +@@ -25,7 +25,7 @@ + * XFree86 Project. + */ + +-/* $XFree86: xc/lib/Xaw/Pixmap.c,v 3.15 2000/09/26 15:56:54 tsi Exp $ */ ++/* $XFree86: xc/lib/Xaw/Pixmap.c,v 3.15.2.1 2001/02/09 20:45:09 paulo Exp $ */ + + #include <string.h> + #include <stdio.h> +@@ -437,7 +437,7 @@ + cache = (XawCache **)bsearch(screen, xaw->elems, + xaw->num_elems, sizeof(XtPointer), + bcmp_long); +- if (!cache) ++ if (!cache || !(*cache)->num_elems) + return (NULL); + if (flags == FIND_SCREEN) + return (*cache); +@@ -446,7 +446,7 @@ + cache = (XawCache **)bsearch((void *)colormap, (*cache)->elems, + (*cache)->num_elems, sizeof(XtPointer), + bcmp_long); +- if (!cache) ++ if (!cache || !(*cache)->num_elems) + return (NULL); + if (flags == FIND_COLORMAP) + return (*cache); +@@ -456,7 +456,7 @@ + (*cache)->num_elems, sizeof(XtPointer), + bcmp_long); + +- if (!cache) ++ if (!cache || !(*cache)->num_elems) + return (NULL); + return (*cache); + } +Index: lib/Xaw/Text.c +=================================================================== +RCS file: /cvs/xc/lib/Xaw/Text.c,v +retrieving revision 3.40 +retrieving revision 3.40.2.1 +diff -U3 -r3.40 -r3.40.2.1 +--- lib/Xaw/Text.c 2000/12/07 20:26:12 3.40 ++++ lib/Xaw/Text.c 2001/02/09 20:45:09 3.40.2.1 +@@ -1,4 +1,4 @@ +-/* $TOG: Text.c /main/201 1998/06/24 11:53:44 kaleb $ */ ++/* $Xorg: Text.c,v 1.3 2000/08/17 19:45:40 cpqbld Exp $ */ + + /*********************************************************** + +@@ -70,7 +70,7 @@ + * XFree86 Project. + */ + +-/* $XFree86: xc/lib/Xaw/Text.c,v 3.40 2000/12/07 20:26:12 dawes Exp $ */ ++/* $XFree86: xc/lib/Xaw/Text.c,v 3.40.2.1 2001/02/09 20:45:09 paulo Exp $ */ + + #include <stdio.h> + #include <X11/IntrinsicP.h> +@@ -805,6 +805,7 @@ + XtRealizeWidget(vbar); + XtMapWidget(vbar); + } ++ XtSetKeyboardFocus(vbar, (Widget)ctx); + } + + /* +@@ -863,6 +864,7 @@ + XtRealizeWidget(hbar); + XtMapWidget(hbar); + } ++ XtSetKeyboardFocus(hbar, (Widget)ctx); + } + + /* +Index: lib/Xaw/TextAction.c +=================================================================== +RCS file: /cvs/xc/lib/Xaw/TextAction.c,v +retrieving revision 3.35 +retrieving revision 3.35.2.1 +diff -U3 -r3.35 -r3.35.2.1 +--- lib/Xaw/TextAction.c 2000/12/07 20:26:12 3.35 ++++ lib/Xaw/TextAction.c 2001/02/09 20:45:09 3.35.2.1 +@@ -21,7 +21,7 @@ + in this Software without prior written authorization from The Open Group. + + */ +-/* $XFree86: xc/lib/Xaw/TextAction.c,v 3.35 2000/12/07 20:26:12 dawes Exp $ */ ++/* $XFree86: xc/lib/Xaw/TextAction.c,v 3.35.2.1 2001/02/09 20:45:09 paulo Exp $ */ + + #include <stdio.h> + #include <stdlib.h> +@@ -2835,12 +2835,23 @@ + EndAction((TextWidget)w); + } + ++/* This is kind of a hack, but, only one text widget can have focus at ++ * a time on one display. There is a problem in the implementation of the ++ * text widget, the scrollbars can not be adressed via editres, since they ++ * are not children of a subclass of composite. ++ * The focus variable is required to make sure only one text window will ++ * show a block cursor at one time. ++ */ ++struct _focus { Display *display; Widget widget; }; ++static struct _focus *focus; ++static Cardinal num_focus; + /*ARGSUSED*/ + static void + TextFocusIn(Widget w, XEvent *event, String *p, Cardinal *n) + { + TextWidget ctx = (TextWidget)w; + Bool display_caret = ctx->text.display_caret; ++ int i; + + if (event->xfocus.detail == NotifyPointer) + return; +@@ -2853,6 +2864,25 @@ + ctx->text.hasfocus = TRUE; + if (display_caret) + EndAction(ctx); ++ ++ for (i = 0; i < num_focus; i++) ++ if (focus[i].display == XtDisplay(w)) ++ break; ++ if (i >= num_focus) { ++ focus = (struct _focus*) ++ XtRealloc((XtPointer)focus, sizeof(struct _focus) * (num_focus + 1)); ++ i = num_focus; ++ focus[i].widget = w; ++ focus[i].display = XtDisplay(w); ++ num_focus++; ++ } ++ if (focus[i].widget != w) { ++ Widget old = focus[i].widget; ++ ++ focus[i].widget = w; ++ if (old != NULL) ++ TextFocusOut(old, event, p, n); ++ } + } + + /*ARGSUSED*/ +@@ -2861,8 +2891,24 @@ + { + TextWidget ctx = (TextWidget)w; + Bool display_caret = ctx->text.display_caret; ++ Widget shell; ++ Window window; ++ int i, revert; ++ ++ shell = w; ++ while (shell) { ++ if (XtIsShell(shell)) ++ break; ++ shell = XtParent(shell); ++ } + +- if (event->xfocus.detail == NotifyPointer) ++ for (i = 0; i < num_focus; i++) ++ if (focus[i].display == XtDisplay(w)) ++ break; ++ XGetInputFocus(XtDisplay(w), &window, &revert); ++ if ((XtWindow(shell) == window && ++ (i < num_focus && focus[i].widget == w)) ++ || event->xfocus.detail == NotifyPointer) + return; + + /* Let the input method know focus has left.*/ +@@ -3110,6 +3156,8 @@ + FD_ZERO(&fds); + FD_SET(ConnectionNumber(XtDisplay(w)), &fds); + (void)select(FD_SETSIZE, &fds, NULL, NULL, &tmval); ++ if (tmval.tv_usec != 500000) ++ usleep(40000); + + StartAction(ctx, NULL); + #ifndef OLDXAW +@@ -3342,8 +3390,9 @@ + return; + } + else { +- mult = mult * 10 + params[0][0] - '0'; +- ctx->text.mult = ctx->text.mult * 10 + params[0][0] - '0'; ++ mult = mult * 10 + (params[0][0] - '0') * (mult < 0 ? -1 : 1); ++ ctx->text.mult = ctx->text.mult * 10 + (params[0][0] - '0') * ++ (mult < 0 ? -1 : 1); + } + if (mult != ctx->text.mult || mult >= 32767) { /* checks for overflow */ + XBell(XtDisplay(w), 0); +Index: lib/Xaw/TextPop.c +=================================================================== +RCS file: /cvs/xc/lib/Xaw/TextPop.c,v +retrieving revision 1.16 +retrieving revision 1.16.2.1 +diff -U3 -r1.16 -r1.16.2.1 +--- lib/Xaw/TextPop.c 2000/05/18 16:29:52 1.16 ++++ lib/Xaw/TextPop.c 2001/02/09 20:45:10 1.16.2.1 +@@ -22,7 +22,7 @@ + + */ + +-/* $XFree86: xc/lib/Xaw/TextPop.c,v 1.16 2000/05/18 16:29:52 dawes Exp $ */ ++/* $XFree86: xc/lib/Xaw/TextPop.c,v 1.16.2.1 2001/02/09 20:45:10 paulo Exp $ */ + + /* + * This file is broken up into three sections one dealing with +@@ -837,7 +837,7 @@ + static Bool + DoSearch(struct SearchAndReplace *search) + { +- char msg[BUFSIZ]; ++ char msg[37]; + Widget tw = XtParent(search->search_popup); + XawTextPosition pos; + XawTextScanDirection dir; +@@ -875,11 +875,27 @@ + GetString to get a tame version */ + + if (pos == XawTextSearchError) { +- (void)XmuSnprintf(msg, sizeof(msg), +- "Could not find string ``%s''.", +- GetString(search->search_text)); ++ char *ptr; ++ int len; ++ ++ ptr = GetString(search->search_text); ++ len = strlen(ptr); ++ (void)XmuSnprintf(msg, sizeof(msg), "%s", ptr); ++ ++ ptr = strchr(msg, '\n'); ++ if (ptr != NULL || sizeof(msg) - 1 < len) { ++ if (ptr != NULL) ++ len = ptr - msg + 4; ++ else ++ len = strlen(msg); ++ ++ if (len < 4) ++ strcpy(msg, "..."); ++ else ++ strcpy(msg + len - 4, "..."); ++ } + XawTextUnsetSelection(tw); +- SetSearchLabels(search, msg, "", True); ++ SetSearchLabels(search, "Could not find string", msg, True); + + return (False); + } +@@ -1019,15 +1035,26 @@ + + if (new_pos == XawTextSearchError) { + if (count == 0) { +- char msg[BUFSIZ]; +- +- /* The Raw string in find.ptr may be WC I can't use here, +- so I call GetString to get a tame version */ +- +- (void)XmuSnprintf(msg, sizeof(msg), +- "Error: Could not find string ``%s''", +- GetString(search->search_text)); +- SetSearchLabels(search, msg, "", True); ++ char msg[37]; ++ char *ptr; ++ int len; ++ ++ ptr = GetString(search->search_text); ++ len = strlen(ptr); ++ (void)XmuSnprintf(msg, sizeof(msg), "%s", ptr); ++ ptr = strchr(msg, '\n'); ++ if (ptr != NULL || sizeof(msg) - 1 < len) { ++ if (ptr != NULL) ++ len = ptr - msg + 4; ++ else ++ len = strlen(msg); ++ ++ if (len < 4) ++ strcpy(msg, "..."); ++ else ++ strcpy(msg + len - 4, "..."); ++ } ++ SetSearchLabels(search, "Could not find string", msg, True); + + if (redisplay) { + XawTextSetInsertionPoint(tw, ipos); +@@ -1047,7 +1074,7 @@ + XawTextGetSelectionPos(tw, &pos, &end_pos); + + if (search->selection_changed) { +- SetSearchLabels(search, "Selection has been modified, aborting.", ++ SetSearchLabels(search, "Selection modified, aborting.", + "", True); + if (redisplay) { + XawTextSetInsertionPoint(tw, ipos); +@@ -1067,11 +1094,7 @@ + } + + if (XawTextReplace(tw, pos, end_pos, &replace) != XawEditDone) { +- char msg[BUFSIZ]; +- +- (void)XmuSnprintf(msg, sizeof(msg), +- "'%s' with '%s'", find.ptr, replace.ptr); +- SetSearchLabels(search, "Error while replacing", msg, True); ++ SetSearchLabels(search, "Error while replacing.", "", True); + if (redisplay) { + XawTextSetInsertionPoint(tw, ipos); + XawTextEnableRedisplay(tw); +Index: lib/Xaw/TextSrc.c +=================================================================== +RCS file: /cvs/xc/lib/Xaw/TextSrc.c,v +retrieving revision 1.25 +retrieving revision 1.25.2.1 +diff -U3 -r1.25 -r1.25.2.1 +--- lib/Xaw/TextSrc.c 2000/09/26 15:56:55 1.25 ++++ lib/Xaw/TextSrc.c 2001/02/09 20:45:10 1.25.2.1 +@@ -21,7 +21,7 @@ + + */ + +-/* $XFree86: xc/lib/Xaw/TextSrc.c,v 1.25 2000/09/26 15:56:55 tsi Exp $ */ ++/* $XFree86: xc/lib/Xaw/TextSrc.c,v 1.25.2.1 2001/02/09 20:45:10 paulo Exp $ */ + + /* + * Author: Chris Peterson, MIT X Consortium. +@@ -1022,9 +1022,9 @@ + XtFree((XtPointer)entity); + if (entity == anchor->entities) { + if ((anchor->entities = enext) == NULL) { ++ eprev = NULL; + anchor = XawTextSourceRemoveAnchor(w, anchor); + entity = anchor ? anchor->entities : NULL; +- eprev = NULL; + } + else + eprev = entity = enext; +@@ -1053,6 +1053,7 @@ + XtFree((XtPointer)entity); + anchor->cache = NULL; + if (entity == anchor->entities) { ++ eprev = NULL; + if ((anchor->entities = enext) == NULL) { + if (i == 0) + ++i; +@@ -1069,7 +1070,6 @@ + break; + } + anchor = src->textSrc.anchors[i]; +- eprev = NULL; + entity = anchor->entities; + continue; + } +Index: programs/Xserver/dix/events.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/dix/events.c,v +retrieving revision 3.35 +retrieving revision 3.35.2.1 +diff -U3 -r3.35 -r3.35.2.1 +--- programs/Xserver/dix/events.c 2000/10/22 21:12:09 3.35 ++++ programs/Xserver/dix/events.c 2001/02/09 20:45:14 3.35.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/dix/events.c,v 3.35 2000/10/22 21:12:09 mvojkovi Exp $ */ ++/* $XFree86: xc/programs/Xserver/dix/events.c,v 3.35.2.1 2001/02/09 20:45:14 paulo Exp $ */ + /************************************************************ + + Copyright 1987, 1998 The Open Group +@@ -2783,6 +2783,44 @@ + if (deactivateGrab) + (*keybd->DeactivateGrab)(keybd); + } ++ ++#ifdef XKB ++/* This function is used to set the key pressed or key released state - ++ this is only used when the pressing of keys does not cause ++ CoreProcessKeyEvent to be called, as in for example Mouse Keys. ++*/ ++void ++FixKeyState (xE, keybd) ++ register xEvent *xE; ++ register DeviceIntPtr keybd; ++{ ++ int key, bit; ++ register BYTE *kptr; ++ register KeyClassPtr keyc = keybd->key; ++ ++ key = xE->u.u.detail; ++ kptr = &keyc->down[key >> 3]; ++ bit = 1 << (key & 7); ++#ifdef DEBUG ++ if ((xkbDebugFlags&0x4)&& ++ ((xE->u.u.type==KeyPress)||(xE->u.u.type==KeyRelease))) { ++ ErrorF("FixKeyState: Key %d %s\n",key, ++ (xE->u.u.type==KeyPress?"down":"up")); ++ } ++#endif ++ switch (xE->u.u.type) ++ { ++ case KeyPress: ++ *kptr |= bit; ++ break; ++ case KeyRelease: ++ *kptr &= ~bit; ++ break; ++ default: ++ FatalError("Impossible keyboard event"); ++ } ++} ++#endif + + void + #ifdef XKB +Index: programs/Xserver/hw/xfree86/CHANGELOG +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/CHANGELOG,v +retrieving revision 3.1485 +retrieving revision 3.1485.2.15 +diff -U3 -r3.1485 -r3.1485.2.15 +--- programs/Xserver/hw/xfree86/CHANGELOG 2000/12/18 15:55:33 3.1485 ++++ programs/Xserver/hw/xfree86/CHANGELOG 2001/02/15 16:01:33 3.1485.2.15 +@@ -1,3 +1,51 @@ ++XFree86 4.0.2a (?? February 2001) ++1231. Add missing Rage 128 PD chip support (Ishikawa Mutsumi). ++1230. Work around compiler-generated call to memcpy in the sis driver ++ (David Dawes). ++1229. Fix the neomagic driver so that it saves/restores the palette (#4452, ++ Ken Hornstein). ++1228. Fix a palette saving bug in the vgahw module (#4452, Ken Hornstein). ++1227. [SECURITY] complete fix for /tmp race in gccmakedep and makedepend. ++ (Branden Robinson). ++1226. Add support for wsmouse protocol under OpenBSD/i386 (Matthieu Herrb). ++1225. [SECURITY] fix possible buffer overflow (NOT on stack) in xdm ++ xdmcp code (patch69 from Red Hat SRPMS). ++1224. Make acceleration work on the Trident Cyber9388 (Alan Hourihane). ++1223. Make some changes to the clock selection for trident driver ++ (Alan Hourihane). ++1222. Ensure Video is unavailable when no acceleration available in the ++ trident driver (Alan Hourihane). ++1221. Allow xf86ClaimPciSlot to be called with a NULL GDevPtr, as it was ++ previously (Alan Hourihane). ++1220. Correct some problems with xedit c-mode. Fix geometry management ++ incompatibilites with Xaw 6 in the Form widget. ++ Fix problem in libxf86config when comparing float and double and ++ small fix to xf86cfg when converting a HorizSync or VertRefresh ++ specification string to format used internally by libxf86config. ++ Adds dvorak keyboard and fixes Ukranian in rules/xfree86.lst. ++ Fix problems in the xkb interface of xf86cfg and fix autorepeat with ++ MouseKeys, based on patches and suggestion of Stephen Montgomery-Smith ++ (Paulo César Pereira de Andrade). ++1219. Undo s3virge changes in 4.0.2 for Xv support on ViRGE chipsets since ++ they caused problems with plain ViRGE cards. Xv is still supported ++ for the ViRGE DX (#4414, 4430, Kevin Brosius). ++1218. Fix incorrect driverName fields in the cyrix, i810 and sis drivers. ++ This was causing 'XFree86 -configure' to get the driver name wrong. ++ Also fix the documentation of this field in the DESIGN doc (David Dawes). ++1217. [SECURITY] Fix temp files vulnerabilites in xman on systems with ++ mkstemp(). (Matthieu Herrb). ++1216. [SECURITY] Fix temp vulnerabilities in Xaw/MultiSrc.c using the technique ++ in patch #4279 (Branden Robinson). Fix temp file vulnerability in ++ gccmakedep based on report from Alan Cox. Fix temp file vulnerability ++ in Imake.rules, InstallManPageAliases (Matthieu Herrb). ++1215. Fix Neomagic 2200 screen corruption (Egbert Eich). ++1214. Add an imake control for determining when xload should be installed ++ set-gid (David Dawes). ++1213. Add some imake controls for installing Xkb and app-defaults files ++ in the traditional location rather than under /etc/X11 (Red Hat does ++ that) (David Dawes). ++1212. Misc bindist updates. ++ + XFree86 4.0.2 (18 December 2000) + 1211. Fix a problem introduced recently when using the "ps/2" protocol for + mice on FreeBSD (David Dawes). +@@ -12114,4 +12162,4 @@ + XFree86 3.0 (26 April 1994) + + +-$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.1485 2000/12/18 15:55:33 dawes Exp $ ++$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.1485.2.15 2001/02/15 16:01:33 martin Exp $ +Index: programs/Xserver/hw/xfree86/common/xf86Bus.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/common/xf86Bus.c,v +retrieving revision 1.56 +retrieving revision 1.56.2.1 +diff -U3 -r1.56 -r1.56.2.1 +--- programs/Xserver/hw/xfree86/common/xf86Bus.c 2000/12/06 15:35:07 1.56 ++++ programs/Xserver/hw/xfree86/common/xf86Bus.c 2001/02/10 10:23:53 1.56.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Bus.c,v 1.56 2000/12/06 15:35:07 eich Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Bus.c,v 1.56.2.1 2001/02/10 10:23:53 alanh Exp $ */ + /* + * Copyright (c) 1997-1999 by The XFree86 Project, Inc. + */ +@@ -443,7 +443,8 @@ + pEnt->chipset = xf86Entities[entityIndex]->chipset; + pEnt->resources = xf86Entities[entityIndex]->resources; + pEnt->driver = xf86Entities[entityIndex]->driver; +- if (xf86Entities[entityIndex]->devices[0]) { ++ if ( (xf86Entities[entityIndex]->devices) && ++ (xf86Entities[entityIndex]->devices[0]) ) { + for (i = 0; i < xf86Entities[entityIndex]->numInstances; i++) + if (xf86Entities[entityIndex]->devices[i]->screen == 0) + break; +@@ -469,7 +470,8 @@ + int i; + + /* We might not use AddDevtoEntity */ +- if (!xf86Entities[entityIndex]->devices[0]) ++ if ( (!xf86Entities[entityIndex]->devices) || ++ (!xf86Entities[entityIndex]->devices[0]) ) + return NULL; + + if (entityIndex >= xf86NumEntities || +Index: programs/Xserver/hw/xfree86/common/xf86Configure.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/common/xf86Configure.c,v +retrieving revision 3.49 +retrieving revision 3.49.2.1 +diff -U3 -r3.49 -r3.49.2.1 +--- programs/Xserver/hw/xfree86/common/xf86Configure.c 2000/12/12 18:23:50 3.49 ++++ programs/Xserver/hw/xfree86/common/xf86Configure.c 2001/02/11 18:03:48 3.49.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Configure.c,v 3.49 2000/12/12 18:23:50 tsi Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Configure.c,v 3.49.2.1 2001/02/11 18:03:48 herrb Exp $ */ + /* + * Copyright 2000 by Alan Hourihane, Sychdyn, North Wales. + * +@@ -286,6 +286,14 @@ + path[len] = '\0'; + if (strstr(path, "psaux") != NULL) + DFLT_MOUSE_PROTO = "PS/2"; ++ } ++#endif ++#ifdef WSCONS_SUPPORT ++ fd = open("/dev/wsmouse0", 0); ++ if (fd > 0) { ++ DFLT_MOUSE_DEV = "/dev/wsmouse0"; ++ DFLT_MOUSE_PROTO = "wsmouse"; ++ close(fd); + } + #endif + +Index: programs/Xserver/hw/xfree86/common/xf86PciInfo.h +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/common/xf86PciInfo.h,v +retrieving revision 1.83 +retrieving revision 1.83.2.1 +diff -U3 -r1.83 -r1.83.2.1 +--- programs/Xserver/hw/xfree86/common/xf86PciInfo.h 2000/12/07 21:34:20 1.83 ++++ programs/Xserver/hw/xfree86/common/xf86PciInfo.h 2001/02/15 16:01:40 1.83.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86PciInfo.h,v 1.83 2000/12/07 21:34:20 mvojkovi Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86PciInfo.h,v 1.83.2.1 2001/02/15 16:01:40 martin Exp $ */ + /* + * PCI Probe + * +@@ -231,6 +231,7 @@ + #define PCI_CHIP_MACH64LS 0x4C53 + #define PCI_CHIP_RAGE128MF 0x4D46 + #define PCI_CHIP_RAGE128ML 0x4D4C ++#define PCI_CHIP_RAGE128PD 0x5044 + #define PCI_CHIP_RAGE128PF 0x5046 + #define PCI_CHIP_RAGE128PR 0x5052 + #define PCI_CHIP_RADEON_QD 0x5144 +@@ -796,6 +797,7 @@ + {PCI_CHIP_MACH64LS, "Mach64 LS",0}, + {PCI_CHIP_RAGE128MF, "Rage 128 Mobility MF",0}, + {PCI_CHIP_RAGE128ML, "Rage 128 Mobility ML",0}, ++ {PCI_CHIP_RAGE128PD, "Rage 128 Pro PD",0}, + {PCI_CHIP_RAGE128PF, "Rage 128 Pro PF",0}, + {PCI_CHIP_RAGE128PR, "Rage 128 Pro PR",0}, + {PCI_CHIP_RADEON_QD, "Radeon QD",0}, +Index: programs/Xserver/hw/xfree86/common/xf86pciBus.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/common/xf86pciBus.c,v +retrieving revision 3.28 +retrieving revision 3.28.2.1 +diff -U3 -r3.28 -r3.28.2.1 +--- programs/Xserver/hw/xfree86/common/xf86pciBus.c 2000/12/08 20:13:35 3.28 ++++ programs/Xserver/hw/xfree86/common/xf86pciBus.c 2001/02/10 10:23:55 3.28.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86pciBus.c,v 3.28 2000/12/08 20:13:35 eich Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86pciBus.c,v 3.28.2.1 2001/02/10 10:23:55 alanh Exp $ */ + + /* + * Copyright (c) 1997-1999 by The XFree86 Project, Inc. +@@ -2343,7 +2343,8 @@ + p->pciBusId.func = func; + p->active = active; + p->inUse = FALSE; +- xf86AddDevToEntity(num, dev); ++ if (dev) ++ xf86AddDevToEntity(num, dev); + /* Here we initialize the access structure */ + p->access = xnfcalloc(1,sizeof(EntityAccessRec)); + while (ppaccp && *ppaccp) { +Index: programs/Xserver/hw/xfree86/doc/BugReport +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/doc/Attic/BugReport,v +retrieving revision 1.3 +retrieving revision 1.3.2.1 +diff -U3 -r1.3 -r1.3.2.1 +--- programs/Xserver/hw/xfree86/doc/BugReport 2000/08/03 12:24:02 1.3 ++++ programs/Xserver/hw/xfree86/doc/BugReport 2000/12/19 18:13:35 1.3.2.1 +@@ -5,7 +5,7 @@ + + VERSION: + +-4.0.1a ++4.0.2 + + VIDEO DRIVER: + +@@ -54,4 +54,4 @@ + + + +-$XFree86: xc/programs/Xserver/hw/xfree86/doc/BugReport,v 1.3 2000/08/03 12:24:02 dawes Exp $ ++$XFree86: xc/programs/Xserver/hw/xfree86/doc/BugReport,v 1.3.2.1 2000/12/19 18:13:35 dawes Exp $ +Index: programs/Xserver/hw/xfree86/doc/DESIGN +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/doc/DESIGN,v +retrieving revision 1.33 +retrieving revision 1.33.2.1 +diff -U3 -r1.33 -r1.33.2.1 +--- programs/Xserver/hw/xfree86/doc/DESIGN 2000/12/04 19:47:21 1.33 ++++ programs/Xserver/hw/xfree86/doc/DESIGN 2001/02/09 03:26:01 1.33.2.1 +@@ -408,12 +408,12 @@ + points required during the early phase of InitOutput(). xf86AddDriver() adds + it to the global xf86DriverList[] array. + +-The DriverRec contains the driver's version, a short descriptive message, the +-Identify(), Probe() and AvailableOptions() function entry points as well as a +-pointer to the driver's module (as returned from the loader when the driver +-was loaded) and a reference count which keeps track of how many screens are +-using the driver. The entry driver entry points are those required prior to +-the driver allocating and filling in its ScrnInfoRec. ++The DriverRec contains the driver canonical name, the Identify(), Probe() and ++AvailableOptions() function entry points as well as a pointer to the driver's ++module (as returned from the loader when the driver was loaded) and a refer- ++ence count which keeps track of how many screens are using the driver. The ++entry driver entry points are those required prior to the driver allocating ++and filling in its ScrnInfoRec. + + For a static server, the xf86DriverList[] array is initialised at build time, + and the loading of modules is not done. +@@ -5368,7 +5368,7 @@ + + DriverRec ZZZ = { + VERSION, +- "unaccelerated driver for ZZZ Zzzzzy cards", ++ ZZZ_DRIVER_NAME, + ZZZIdentify, + ZZZProbe, + ZZZAvailableOptions, +@@ -6302,7 +6302,7 @@ + ZZZFreeRec(xf86Screens[scrnIndex]); + } + +- Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.39 2000/12/04 18:49:54 dawes Exp $ ++ Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.39.2.1 2001/02/08 19:31:03 dawes Exp $ + + +-$XFree86: xc/programs/Xserver/hw/xfree86/doc/DESIGN,v 1.33 2000/12/04 19:47:21 dawes Exp $ ++$XFree86: xc/programs/Xserver/hw/xfree86/doc/DESIGN,v 1.33.2.1 2001/02/09 03:26:01 dawes Exp $ +Index: programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v +retrieving revision 1.39 +retrieving revision 1.39.2.1 +diff -U3 -r1.39 -r1.39.2.1 +--- programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml 2000/12/04 18:49:54 1.39 ++++ programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml 2001/02/08 19:31:03 1.39.2.1 +@@ -36,7 +36,7 @@ + + + <ident> +-$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.39 2000/12/04 18:49:54 dawes Exp $ ++$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.39.2.1 2001/02/08 19:31:03 dawes Exp $ + </ident> + + +@@ -517,8 +517,8 @@ + &s.code;InitOutput()&e.code;. &s.code;xf86AddDriver()&e.code; adds + it to the global &s.code;xf86DriverList[]&e.code; array. + +- The &s.code;DriverRec&e.code; contains the driver's version, a short +- descriptive message, the &s.code;Identify()&e.code;, ++ The &s.code;DriverRec&e.code; contains the driver canonical name, ++ the &s.code;Identify()&e.code;, + &s.code;Probe()&e.code; and &s.code;AvailableOptions()&e.code; + function entry points as well as a pointer + to the driver's module (as returned from the loader when the driver +@@ -6336,7 +6336,7 @@ + <code> + DriverRec ZZZ = { + VERSION, +- "unaccelerated driver for ZZZ Zzzzzy cards", ++ ZZZ_DRIVER_NAME, + ZZZIdentify, + ZZZProbe, + ZZZAvailableOptions, +Index: programs/Xserver/hw/xfree86/doc/sgml/README.sgml +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/doc/sgml/README.sgml,v +retrieving revision 3.110 +retrieving revision 3.110.2.1 +diff -U3 -r3.110 -r3.110.2.1 +--- programs/Xserver/hw/xfree86/doc/sgml/README.sgml 2000/12/15 16:11:57 3.110 ++++ programs/Xserver/hw/xfree86/doc/sgml/README.sgml 2001/02/09 04:25:04 3.110.2.1 +@@ -15,7 +15,7 @@ + <date>15 December 2000 + + <ident> +-$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/README.sgml,v 3.110 2000/12/15 16:11:57 dawes Exp $ ++$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/README.sgml,v 3.110.2.1 2001/02/09 04:25:04 dawes Exp $ + </ident> + + <abstract> +@@ -31,8 +31,22 @@ + <sect>What is XFree86 &relvers;? + <p> + +-XFree86 &relvers; is the third full release in the <![ %earlyrel; [new]]> +-XFree86 4 series. ++<![ %updaterel [ ++XFree86 &relvers; is the &whichupdaterel; update to &fullrelvers;, ++the &whichfullrel; full release in the <![ %earlyrel; [new]]> XFree86 ++4 series. ++ ++Update releases are taken from a stable/maintenance branch. They are ++designed to be installed on top of the full release that they are ++updating. They contain fixes for serious problems, most commonly ++fixes for security issues, fixes for driver bugs, and fixes that improve ++stability. ++]]> ++ ++<![ %fullrel [ ++XFree86 &relvers; is the &whichfullrel; full release in the <![ %earlyrel; ++[new]]> XFree86 4 series. ++]]> + + <p> + XFree86 release 4 is a major re-design of the basic architectural +@@ -47,9 +61,10 @@ + The road to XFree86 release 4 began as an architectural concept in mid + 1997, with the serious framework being implemented in code the beginning + of 1998. There were several snapshots on the road to 4.0 which are now +-part of the 4.0 base release. The &relvers; version is an upgrade to ++part of the 4.0 base release. ++<![ %fullrel [The &relvers; version is an upgrade to + &prevrelvers;, which include more hardware ports, code enhancements and +-bug fixes. ++bug fixes.]]> + + Release 4 also included the long-awaited integration of the DRI (Direct + Rendering Infrastructure). This upgrade into the code base gives +@@ -194,114 +209,135 @@ + <htmlurl name="Installation Document" url="Install.html">. Information about + obtaining the release in source form is given below. + ]]> ++ ++<![ %updaterel; [ ++The source for version &relvers; is available as a patch relative to ++&prevrelvers;. ++The patch file is <tt>&prevrelvers;-&relvers;.diff.gz</tt>. ++ ++The patch ++should be applied to a clean &prevrelvers; source tree, working from ++the directory containing the <tt>xc/</tt> directory. The patch should ++be applied by running: + +-The source for version &relvers; is split into three tarballs: +-<tt>X&srcvers;src-1.tgz</tt>, <tt>X&srcvers;src-2.tgz</tt>, +-<tt>X&srcvers;src-3.tgz</tt>. The first contains everything except the ++<tscreen><verb> ++gzip -d < &prevrelvers;-&relvers;.diff.gz | patch -p0 -E ++</verb></tscreen> ++ ++Information about getting the source for &prevrelvers can be found in the ++README file for that version, which can be found on the ++<url name="XFree86 web site" url="http://www.xfree86.org/pub/XFree86/&prevrelvers;/README.html">. ++. ++]]> ++ ++<![ %fullrel [ ++The source for version &fullrelvers; is split into three tarballs: ++<tt>X&fullsrcvers;src-1.tgz</tt>, <tt>X&fullsrcvers;src-2.tgz</tt>, ++<tt>X&fullsrcvers;src-3.tgz</tt>. The first contains everything except the + fonts and general X11 documentation. It is sufficient for building + XFree86 is you already have a set of fonts. The second contains the + fonts and the source for the general X11 documentation. The third + contains the general X11 documentation in hardcopy format. + + <![ %onediff; [ +-A source patch relative to version &prevrelvers; is also available. +-The patch file is <tt>&prevrelvers;-&relvers;.diff.gz</tt>. ++A source patch relative to version &prevfullrelvers; is also available. ++The patch file is <tt>&prevfullrelvers;-&fullrelvers;.diff.gz</tt>. + <![ %difftar; [ + There is also a tarball that contains some files that have components that +-can't be included in a diff. It is <tt>&relvers;.tgz</tt>. ++can't be included in a diff. It is <tt>&fullrelvers;.tgz</tt>. + ]]> + The patch +-should be applied to a clean &prevrelvers; source tree, working from ++should be applied to a clean &prevfullrelvers; source tree, working from + the directory containing the <tt>xc/</tt> directory. The patch should + be applied by running: + + <tscreen><verb> +-gzip -d < &prevrelvers;-&relvers;.diff.gz | patch -p0 -E ++gzip -d < &prevfullrelvers;-&fullrelvers;.diff.gz | patch -p0 -E + </verb></tscreen> + <![ %difftar; [ + <tscreen><verb> +-gzip -d < &relvers;.tgz | tar vxf - ++gzip -d < &fullrelvers;.tgz | tar vxf - + </verb></tscreen> + ]]> + ]]> + + <![ %twodiffs; [ +-A source patch relative to version &prevrelvers; is also available. ++A source patch relative to version &prevfullrelvers; is also available. + Because of its size, it is split into two parts. +-The patch files are <tt>&prevrelvers;-&relvers;.diff1.gz</tt> and +-<tt>&prevrelvers;-&relvers;.diff2.gz</tt>. ++The patch files are <tt>&prevfullrelvers;-&fullrelvers;.diff1.gz</tt> and ++<tt>&prevfullrelvers;-&fullrelvers;.diff2.gz</tt>. + <![ %difftar; [ + There is also a tarball that contains some files that have components that +-can't be included in a diff. It is <tt>&relvers;.tgz</tt>. ++can't be included in a diff. It is <tt>&fullrelvers;.tgz</tt>. + ]]> + These patches should +-be applied to a clean &prevrelvers; source tree, working from the directory ++be applied to a clean &prevfullrelvers; source tree, working from the directory + containing the <tt>xc/</tt> directory. The patches should be applied by + running: + + <tscreen><verb> +-gzip -d < &prevrelvers;-&relvers;.diff1.gz | patch -p0 -E +-gzip -d < &prevrelvers;-&relvers;.diff2.gz | patch -p0 -E ++gzip -d < &prevfullrelvers;-&fullrelvers;.diff1.gz | patch -p0 -E ++gzip -d < &prevfullrelvers;-&fullrelvers;.diff2.gz | patch -p0 -E + </verb></tscreen> + <![ %difftar; [ + <tscreen><verb> +-gzip -d < &relvers;.tgz | tar vxf - ++gzip -d < &fullrelvers;.tgz | tar vxf - + </verb></tscreen> + ]]> + ]]> + + <![ %threediffs; [ +-A source patch relative to version &prevrelvers; is also available. ++A source patch relative to version &prevfullrelvers; is also available. + Because of its size, it is split into three parts. +-The patch files are <tt>&prevrelvers;-&relvers;.diff1.gz</tt>, +-<tt>&prevrelvers;-&relvers;.diff2.gz</tt> and +-<tt>&prevrelvers;-&relvers;.diff3.gz</tt>. ++The patch files are <tt>&prevfullrelvers;-&fullrelvers;.diff1.gz</tt>, ++<tt>&prevfullrelvers;-&fullrelvers;.diff2.gz</tt> and ++<tt>&prevfullrelvers;-&fullrelvers;.diff3.gz</tt>. + <![ %difftar; [ + There is also a tarball that contains some files that have components that +-can't be included in a diff. It is <tt>&relvers;.tgz</tt>. ++can't be included in a diff. It is <tt>&fullrelvers;.tgz</tt>. + ]]> + These patches should +-be applied to a clean &prevrelvers; source tree, working from the directory ++be applied to a clean &prevfullrelvers; source tree, working from the directory + containing the <tt>xc/</tt> directory. The patches should be applied by + running: + + <tscreen><verb> +-gzip -d < &prevrelvers;-&relvers;.diff1.gz | patch -p0 -E +-gzip -d < &prevrelvers;-&relvers;.diff2.gz | patch -p0 -E +-gzip -d < &prevrelvers;-&relvers;.diff3.gz | patch -p0 -E ++gzip -d < &prevfullrelvers;-&fullrelvers;.diff1.gz | patch -p0 -E ++gzip -d < &prevfullrelvers;-&fullrelvers;.diff2.gz | patch -p0 -E ++gzip -d < &prevfullrelvers;-&fullrelvers;.diff3.gz | patch -p0 -E + </verb></tscreen> + <![ %difftar; [ + <tscreen><verb> +-gzip -d < &relvers;.tgz | tar vxf - ++gzip -d < &fullrelvers;.tgz | tar vxf - + </verb></tscreen> + ]]> + ]]> + + <![ %fourdiffs; [ +-A source patch relative to version &prevrelvers; is also available. ++A source patch relative to version &prevfullrelvers; is also available. + Because of its size, it is split into four parts. +-The patch files are <tt>&prevrelvers;-&relvers;.diff1.gz</tt>, +-<tt>&prevrelvers;-&relvers;.diff2.gz</tt>, +-<tt>&prevrelvers;-&relvers;.diff3.gz</tt> and +-<tt>&prevrelvers;-&relvers;.diff4.gz</tt>. ++The patch files are <tt>&prevfullrelvers;-&fullrelvers;.diff1.gz</tt>, ++<tt>&prevfullrelvers;-&fullrelvers;.diff2.gz</tt>, ++<tt>&prevfullrelvers;-&fullrelvers;.diff3.gz</tt> and ++<tt>&prevfullrelvers;-&fullrelvers;.diff4.gz</tt>. + <![ %difftar; [ + There is also a tarball that contains some files that have components that +-can't be included in a diff. It is <tt>&relvers;.tgz</tt>. ++can't be included in a diff. It is <tt>&fullrelvers;.tgz</tt>. + ]]> + These patches should +-be applied to a clean &prevrelvers; source tree, working from the directory ++be applied to a clean &prevfullrelvers; source tree, working from the directory + containing the <tt>xc/</tt> directory. The patches should be applied by + running: + + <tscreen><verb> +-gzip -d < &prevrelvers;-&relvers;.diff1.gz | patch -p0 -E +-gzip -d < &prevrelvers;-&relvers;.diff2.gz | patch -p0 -E +-gzip -d < &prevrelvers;-&relvers;.diff3.gz | patch -p0 -E +-gzip -d < &prevrelvers;-&relvers;.diff4.gz | patch -p0 -E ++gzip -d < &prevfullrelvers;-&fullrelvers;.diff1.gz | patch -p0 -E ++gzip -d < &prevfullrelvers;-&fullrelvers;.diff2.gz | patch -p0 -E ++gzip -d < &prevfullrelvers;-&fullrelvers;.diff3.gz | patch -p0 -E ++gzip -d < &prevfullrelvers;-&fullrelvers;.diff4.gz | patch -p0 -E + </verb></tscreen> + <![ %difftar; [ + <tscreen><verb> +-gzip -d < &relvers;.tgz | tar vxf - ++gzip -d < &fullrelvers;.tgz | tar vxf - + </verb></tscreen> + ]]> + ]]> +@@ -311,6 +347,7 @@ + + To format the XFree86 documentation use the latest version of our doctools + package available as <tt>doctools-&doctoolsvers;.tgz</tt>. ++]]> <!-- fullrel --> + + <sect>Reporting Bugs + <p> +Index: programs/Xserver/hw/xfree86/doc/sgml/defs.ent +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/doc/sgml/defs.ent,v +retrieving revision 1.15 +retrieving revision 1.15.2.1 +diff -U3 -r1.15 -r1.15.2.1 +--- programs/Xserver/hw/xfree86/doc/sgml/defs.ent 2000/12/08 19:10:25 1.15 ++++ programs/Xserver/hw/xfree86/doc/sgml/defs.ent 2001/02/09 04:25:04 1.15.2.1 +@@ -1,12 +1,19 @@ +-<!-- $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/defs.ent,v 1.15 2000/12/08 19:10:25 dawes Exp $ --> ++<!-- $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/defs.ent,v 1.15.2.1 2001/02/09 04:25:04 dawes Exp $ --> + + <!-- shared entity definitions for the XFree86 documentation --> + + <!-- XFree86 version string --> +-<!ENTITY relvers CDATA "4.0.2"> +-<!ENTITY prevrelvers CDATA "4.0.1"> +-<!ENTITY srcvers CDATA "402"> +-<!ENTITY prevsrcvers CDATA "401"> ++<!ENTITY relvers CDATA "4.0.3"> ++<!ENTITY prevrelvers CDATA "4.0.2"> ++<!ENTITY fullrelvers CDATA "4.0.2"> ++<!ENTITY prevfullrelvers CDATA "4.0.1"> ++<!ENTITY srcvers CDATA "403"> ++<!ENTITY prevsrcvers CDATA "402"> ++<!ENTITY fullsrcvers CDATA "402"> ++<!ENTITY prevfullsrcvers CDATA "401"> ++<!ENTITY whichfullrel CDATA "third"> ++<!ENTITY whichupdaterel CDATA "first"> ++ + <!-- Version of the most recent 3.3.x release --> + <!ENTITY legacyvers CDATA "3.3.6"> + +@@ -25,4 +32,6 @@ + <!ENTITY % firstrel 'IGNORE'> + <!ENTITY % earlyrel 'INCLUDE'> + <!ENTITY % laterrel 'INCLUDE'> ++<!ENTITY % fullrel 'IGNORE'> ++<!ENTITY % updaterel 'INCLUDE'> + +Index: programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c,v +retrieving revision 1.13 +retrieving revision 1.13.2.1 +diff -U3 -r1.13 -r1.13.2.1 +--- programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c 2000/12/08 19:15:33 1.13 ++++ programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c 2001/02/15 16:01:41 1.13.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c,v 1.13 2000/12/08 19:15:33 martin Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c,v 1.13.2.1 2001/02/15 16:01:41 martin Exp $ */ + /* + * Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario, + * Precision Insight, Inc., Cedar Park, Texas, and +@@ -891,6 +891,7 @@ + case PCI_CHIP_RAGE128RG: + case PCI_CHIP_RAGE128RK: + case PCI_CHIP_RAGE128RL: ++ case PCI_CHIP_RAGE128PD: + case PCI_CHIP_RAGE128PF: + default: info->HasPanelRegs = FALSE; break; + } +@@ -989,6 +990,7 @@ + } else { + switch (info->Chipset) { + case PCI_CHIP_RAGE128LE: ++ case PCI_CHIP_RAGE128PD: + case PCI_CHIP_RAGE128RE: + case PCI_CHIP_RAGE128RK: info->IsPCI = TRUE; break; + case PCI_CHIP_RAGE128LF: +Index: programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c,v +retrieving revision 1.6 +retrieving revision 1.6.2.1 +diff -U3 -r1.6 -r1.6.2.1 +--- programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c 2000/12/13 02:45:00 1.6 ++++ programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c 2001/02/15 16:01:41 1.6.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c,v 1.6 2000/12/13 02:45:00 tsi Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c,v 1.6.2.1 2001/02/15 16:01:41 martin Exp $ */ + /* + * Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario, + * Precision Insight, Inc., Cedar Park, Texas, and +@@ -54,6 +54,7 @@ + { PCI_CHIP_RAGE128RG, "ATI Rage 128 RG (AGP)" }, + { PCI_CHIP_RAGE128RK, "ATI Rage 128 RK (PCI)" }, + { PCI_CHIP_RAGE128RL, "ATI Rage 128 RL (AGP)" }, ++ { PCI_CHIP_RAGE128PD, "ATI Rage 128 Pro PD (AGP)" }, + { PCI_CHIP_RAGE128PF, "ATI Rage 128 Pro PF (AGP)" }, + { PCI_CHIP_RAGE128LE, "ATI Rage 128 Mobility LE (PCI)" }, + { PCI_CHIP_RAGE128LF, "ATI Rage 128 Mobility LF (AGP)" }, +@@ -68,6 +69,7 @@ + { PCI_CHIP_RAGE128RG, PCI_CHIP_RAGE128RG, RES_SHARED_VGA }, + { PCI_CHIP_RAGE128RK, PCI_CHIP_RAGE128RK, RES_SHARED_VGA }, + { PCI_CHIP_RAGE128RL, PCI_CHIP_RAGE128RL, RES_SHARED_VGA }, ++ { PCI_CHIP_RAGE128PD, PCI_CHIP_RAGE128PD, RES_SHARED_VGA }, + { PCI_CHIP_RAGE128PF, PCI_CHIP_RAGE128PF, RES_SHARED_VGA }, + { PCI_CHIP_RAGE128LE, PCI_CHIP_RAGE128LE, RES_SHARED_VGA }, + { PCI_CHIP_RAGE128LF, PCI_CHIP_RAGE128LF, RES_SHARED_VGA }, +Index: programs/Xserver/hw/xfree86/drivers/cyrix/cyrix_driver.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/cyrix/cyrix_driver.c,v +retrieving revision 1.14 +retrieving revision 1.14.2.1 +diff -U3 -r1.14 -r1.14.2.1 +--- programs/Xserver/hw/xfree86/drivers/cyrix/cyrix_driver.c 2000/12/02 15:30:37 1.14 ++++ programs/Xserver/hw/xfree86/drivers/cyrix/cyrix_driver.c 2001/02/08 19:31:07 1.14.2.1 +@@ -26,7 +26,7 @@ + * Dirk H. Hohndel (hohndel@suse.de), + * Portions: the GGI project & confidential CYRIX databooks. + */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cyrix/cyrix_driver.c,v 1.14 2000/12/02 15:30:37 tsi Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/cyrix/cyrix_driver.c,v 1.14.2.1 2001/02/08 19:31:07 dawes Exp $ */ + + #include "fb.h" + #include "mibank.h" +@@ -112,7 +112,7 @@ + + DriverRec CYRIX = { + VERSION, +- "accelerated driver for Cyrix integrated processors", ++ CYRIX_DRIVER_NAME, + CYRIXIdentify, + CYRIXProbe, + CYRIXAvailableOptions, +Index: programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c,v +retrieving revision 1.39 +retrieving revision 1.39.2.1 +diff -U3 -r1.39 -r1.39.2.1 +--- programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c 2000/12/02 15:30:42 1.39 ++++ programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c 2001/02/08 19:31:09 1.39.2.1 +@@ -25,7 +25,7 @@ + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + **************************************************************************/ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c,v 1.39 2000/12/02 15:30:42 tsi Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c,v 1.39.2.1 2001/02/08 19:31:09 dawes Exp $ */ + + /* + * Authors: +@@ -92,7 +92,7 @@ + + DriverRec I810 = { + I810_VERSION, +- "Accelerated driver for Intel i810 cards", ++ I810_DRIVER_NAME, + I810Identify, + I810Probe, + I810AvailableOptions, +Index: programs/Xserver/hw/xfree86/drivers/neomagic/neo_2200.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/neomagic/neo_2200.c,v +retrieving revision 1.12 +retrieving revision 1.12.2.1 +diff -U3 -r1.12 -r1.12.2.1 +--- programs/Xserver/hw/xfree86/drivers/neomagic/neo_2200.c 2000/10/17 21:36:15 1.12 ++++ programs/Xserver/hw/xfree86/drivers/neomagic/neo_2200.c 2001/01/22 19:59:11 1.12.2.1 +@@ -22,7 +22,7 @@ + CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + **********************************************************************/ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/neomagic/neo_2200.c,v 1.12 2000/10/17 21:36:15 mvojkovi Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/neomagic/neo_2200.c,v 1.12.2.1 2001/01/22 19:59:11 dawes Exp $ */ + /* + * The original Precision Insight driver for + * XFree86 v.3.3 has been sponsored by Red Hat. +@@ -337,8 +337,8 @@ + NEOACLPtr nAcl = NEOACLPTR(pScrn); + + if ((dstY < srcY) || ((dstY == srcY) && (dstX < srcX))) { +- if (((dstX < 64) && ((srcX + w) == pScrn->displayWidth)) || +- ((dstX == 0) && (w > (pScrn->displayWidth - 64)))) { ++ if ((((dstX < 64) && ((srcX + w) == pScrn->displayWidth)) || ++ ((dstX == 0) && (w > (pScrn->displayWidth - 64)))) && (w > 64)) { + + int srcX1 = srcX + 64; + int dstX1 = dstX + 64; +@@ -368,9 +368,9 @@ + OUTREG(NEOREG_XYEXT, (h<<16) | (w & 0xffff)); + } + } else { +- if ((((dstX + w) > (pScrn->displayWidth - 64)) && (srcX == 0)) ++ if (((((dstX + w) > (pScrn->displayWidth - 64)) && (srcX == 0)) + || (((dstX + w) == pScrn->displayWidth) +- && (w > (pScrn->displayWidth - 64)))) { ++ && (w > (pScrn->displayWidth - 64)))) && (w > 64)) { + int srcX1, dstX1; + + w -= 64; +Index: programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c,v +retrieving revision 1.46 +retrieving revision 1.46.2.1 +diff -U3 -r1.46 -r1.46.2.1 +--- programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c 2000/12/06 18:08:54 1.46 ++++ programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c 2001/02/13 21:06:17 1.46.2.1 +@@ -22,7 +22,7 @@ + CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + **********************************************************************/ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c,v 1.46 2000/12/06 18:08:54 eich Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c,v 1.46.2.1 2001/02/13 21:06:17 dawes Exp $ */ + + /* + * The original Precision Insight driver for +@@ -2137,7 +2137,7 @@ + /* + * This function handles restoring the generic VGA registers. */ + vgaHWRestore(pScrn, VgaReg, +- VGA_SR_MODE | (restoreFonts ? VGA_SR_FONTS : 0)); ++ VGA_SR_MODE | VGA_SR_CMAP | (restoreFonts ? VGA_SR_FONTS : 0)); + + VGAwGR(0x0E, restore->ExtCRTDispAddr); + VGAwGR(0x0F, restore->ExtCRTOffset); +Index: programs/Xserver/hw/xfree86/drivers/s3virge/TODO_NOTES +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/s3virge/TODO_NOTES,v +retrieving revision 1.18 +retrieving revision 1.18.2.1 +diff -U3 -r1.18 -r1.18.2.1 +--- programs/Xserver/hw/xfree86/drivers/s3virge/TODO_NOTES 2000/11/28 20:59:17 1.18 ++++ programs/Xserver/hw/xfree86/drivers/s3virge/TODO_NOTES 2001/02/09 03:29:29 1.18.2.1 +@@ -1,7 +1,7 @@ + S3 ViRGE 4.0 devel notes + + rev: +-27 Nov 2000 KJB ++3 Jan 2001 KJB + + + Function Implemented +@@ -23,6 +23,11 @@ + + Status + ------ ++1/03/01 KJB ++Ver 1.6.0 ++Revert ViRGE to pre-Xv changes. ViRGE DX still supports Xv, but changes ++added for Xv and ViRGE caused problems with normal display. ++ + 11/27/00 KJB + Ver 1.5.0 + Clean up, bump version for 4.0.2 submission. +@@ -259,4 +264,4 @@ + + + +-$XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3virge/TODO_NOTES,v 1.18 2000/11/28 20:59:17 dawes Exp $ ++$XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3virge/TODO_NOTES,v 1.18.2.1 2001/02/09 03:29:29 dawes Exp $ +Index: programs/Xserver/hw/xfree86/drivers/s3virge/s3v_driver.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/s3virge/s3v_driver.c,v +retrieving revision 1.70 +retrieving revision 1.70.2.1 +diff -U3 -r1.70 -r1.70.2.1 +--- programs/Xserver/hw/xfree86/drivers/s3virge/s3v_driver.c 2000/12/14 00:55:25 1.70 ++++ programs/Xserver/hw/xfree86/drivers/s3virge/s3v_driver.c 2001/02/09 03:29:30 1.70.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3virge/s3v_driver.c,v 1.70 2000/12/14 00:55:25 dawes Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3virge/s3v_driver.c,v 1.70.2.1 2001/02/09 03:29:30 dawes Exp $ */ + + /* + Copyright (C) 1994-1999 The XFree86 Project, Inc. All Rights Reserved. +@@ -116,9 +116,9 @@ + + #define S3VIRGE_NAME "S3VIRGE" + #define S3VIRGE_DRIVER_NAME "s3virge" +-#define S3VIRGE_VERSION_NAME "1.5.0" ++#define S3VIRGE_VERSION_NAME "1.6.0" + #define S3VIRGE_VERSION_MAJOR 1 +-#define S3VIRGE_VERSION_MINOR 5 ++#define S3VIRGE_VERSION_MINOR 6 + #define S3VIRGE_PATCHLEVEL 0 + #define S3VIRGE_DRIVER_VERSION ((S3VIRGE_VERSION_MAJOR << 24) | \ + (S3VIRGE_VERSION_MINOR << 16) | \ +@@ -3073,7 +3073,7 @@ + S3VCommonCalcClock(dclk, 1, 1, 31, 0, 4, + 230000, 460000, &new->SR13, &new->SR12); + } /* end TRIO_3D if() */ +- else { /* Is this correct for DX/GX as well? */ ++ else if(ps3v->Chipset == S3_ViRGE_DXGX) { + if (pScrn->bitsPerPixel == 8) { + if(dclk > 80000) { /* We need pixmux */ + new->CR67 = 0x10; +@@ -3110,7 +3110,39 @@ + } + S3VCommonCalcClock(dclk, 1, 1, 31, 0, 3, + 135000, 270000, &new->SR13, &new->SR12); +- } ++ } /* end DXGX if() */ ++ else { /* Everything else ... (only ViRGE) */ ++ if (pScrn->bitsPerPixel == 8) { ++ if(dclk > 80000) { /* We need pixmux */ ++ new->CR67 = 0x10; ++ new->SR15 |= 0x10; /* Set DCLK/2 bit */ ++ new->SR18 = 0x80; /* Enable pixmux */ ++ } ++ } ++ else if ((pScrn->bitsPerPixel == 16) && (pScrn->weight.green == 5)) { ++ new->CR67 = 0x30; /* 15bpp */ ++ } ++ else if (pScrn->bitsPerPixel == 16) { ++ new->CR67 = 0x50; ++ } ++ else if (pScrn->bitsPerPixel == 24) { ++ new->CR67 = 0xd0 | 0x0c; ++ /* Flag STREAMS proc. required */ ++ ps3v->NeedSTREAMS = TRUE; ++ S3VInitSTREAMS(pScrn, new->STREAMS, mode); ++ new->MMPR0 = 0xc000; /* Adjust FIFO slots */ ++ } ++ else if (pScrn->bitsPerPixel == 32) { ++ new->CR67 = 0xd0 | 0x0c; ++ /* Flag STREAMS proc. required */ ++ ps3v->NeedSTREAMS = TRUE; ++ S3VInitSTREAMS(pScrn, new->STREAMS, mode); ++ new->MMPR0 = 0x10000; /* Still more FIFO slots */ ++ } ++ S3VCommonCalcClock(dclk, 1, 1, 31, 0, 3, ++ 135000, 270000, &new->SR13, &new->SR12); ++ } /* end great big if()... */ ++ + + /* Now adjust the value of the FIFO based upon options specified */ + if( ps3v->fifo_moderate ) { +Index: programs/Xserver/hw/xfree86/drivers/s3virge/s3v_xv.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/s3virge/s3v_xv.c,v +retrieving revision 1.2 +retrieving revision 1.2.2.1 +diff -U3 -r1.2 -r1.2.2.1 +--- programs/Xserver/hw/xfree86/drivers/s3virge/s3v_xv.c 2000/11/28 20:59:18 1.2 ++++ programs/Xserver/hw/xfree86/drivers/s3virge/s3v_xv.c 2001/02/09 03:29:31 1.2.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3virge/s3v_xv.c,v 1.2 2000/11/28 20:59:18 dawes Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/s3virge/s3v_xv.c,v 1.2.2.1 2001/02/09 03:29:31 dawes Exp $ */ + /* + Copyright (C) 2000 The XFree86 Project, Inc. All Rights Reserved. + +@@ -106,9 +106,9 @@ + (pScrn->bitsPerPixel == 16) + ) + && +- ((ps3v->Chipset == S3_ViRGE_DXGX) || ++ ((ps3v->Chipset == S3_ViRGE_DXGX) /* || */ + /* S3_ViRGE_GX2_SERIES(ps3v->Chipset) || */ +- (ps3v->Chipset == S3_ViRGE) ++ /* (ps3v->Chipset == S3_ViRGE) */ + ) + && !ps3v->NoAccel + ) +Index: programs/Xserver/hw/xfree86/drivers/sis/init301.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/sis/init301.c,v +retrieving revision 1.3 +retrieving revision 1.3.2.1 +diff -U3 -r1.3 -r1.3.2.1 +--- programs/Xserver/hw/xfree86/drivers/sis/init301.c 2000/12/02 01:16:16 1.3 ++++ programs/Xserver/hw/xfree86/drivers/sis/init301.c 2001/02/14 19:14:22 1.3.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/init301.c,v 1.3 2000/12/02 01:16:16 dawes Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/init301.c,v 1.3.2.1 2001/02/14 19:14:22 dawes Exp $ */ + + #include "xf86.h" + #include "xf86PciInfo.h" +@@ -1355,7 +1355,7 @@ + USHORT oldREFIndex,CRT1ModeNo,oldModeIDOffset; + long int longtemp; + +- USHORT LatencyFactor[48]={ 88, 80, 78, 72, 70, 00, /* 64 bit BQ=2 */ ++ static USHORT LatencyFactor[48]={ 88, 80, 78, 72, 70, 00, /* 64 bit BQ=2 */ + 00, 79, 77, 71, 69, 49, /* 64 bit BQ=1 */ + 88, 80, 78, 72, 70, 00, /* 128 bit BQ=2 */ + 00, 72, 70, 64, 62, 44, /* 128 bit BQ=1 */ +Index: programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c,v +retrieving revision 1.55 +retrieving revision 1.55.2.1 +diff -U3 -r1.55 -r1.55.2.1 +--- programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c 2000/12/02 15:30:51 1.55 ++++ programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c 2001/02/08 19:31:09 1.55.2.1 +@@ -25,7 +25,7 @@ + * Mitani Hiroshi <hmitani@drl.mei.co.jp> + * David Thomas <davtom@dream.org.uk>. + */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c,v 1.55 2000/12/02 15:30:51 tsi Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c,v 1.55.2.1 2001/02/08 19:31:09 dawes Exp $ */ + + + #include "fb.h" +@@ -117,7 +117,7 @@ + + DriverRec SIS = { + SIS_CURRENT_VERSION, +- "accelerated driver for SiS chipsets", ++ SIS_DRIVER_NAME, + SISIdentify, + SISProbe, + SISAvailableOptions, +Index: programs/Xserver/hw/xfree86/drivers/trident/trident.h +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/trident/trident.h,v +retrieving revision 1.33 +retrieving revision 1.33.2.1 +diff -U3 -r1.33 -r1.33.2.1 +--- programs/Xserver/hw/xfree86/drivers/trident/trident.h 2000/12/08 09:05:16 1.33 ++++ programs/Xserver/hw/xfree86/drivers/trident/trident.h 2001/02/10 11:22:10 1.33.2.1 +@@ -21,7 +21,7 @@ + * + * Authors: Alan Hourihane, <alanh@fairlite.demon.co.uk> + */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident.h,v 1.33 2000/12/08 09:05:16 alanh Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident.h,v 1.33.2.1 2001/02/10 11:22:10 alanh Exp $ */ + + #ifndef _TRIDENT_H_ + #define _TRIDENT_H_ +@@ -266,8 +266,7 @@ + #define HAS_DST_TRANS ((pTrident->Chipset == PROVIDIA9682) || \ + (pTrident->Chipset == PROVIDIA9685)) + +-#define Is3Dchip ((pTrident->Chipset == CYBER9388) || \ +- (pTrident->Chipset == CYBER9397) || \ ++#define Is3Dchip ((pTrident->Chipset == CYBER9397) || \ + (pTrident->Chipset == CYBER9397DVD) || \ + (pTrident->Chipset == CYBER9520) || \ + (pTrident->Chipset == CYBER9525DVD) || \ +Index: programs/Xserver/hw/xfree86/drivers/trident/trident_accel.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/trident/trident_accel.c,v +retrieving revision 1.19 +retrieving revision 1.19.2.1 +diff -U3 -r1.19 -r1.19.2.1 +--- programs/Xserver/hw/xfree86/drivers/trident/trident_accel.c 2000/12/07 16:48:04 1.19 ++++ programs/Xserver/hw/xfree86/drivers/trident/trident_accel.c 2001/02/10 11:22:10 1.19.2.1 +@@ -23,7 +23,7 @@ + * + * Trident accelerated options. + */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_accel.c,v 1.19 2000/12/07 16:48:04 alanh Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_accel.c,v 1.19.2.1 2001/02/10 11:22:10 alanh Exp $ */ + + #include "xf86.h" + #include "xf86_OSproc.h" +@@ -158,7 +158,8 @@ + infoPtr->SubsequentScreenToScreenCopy = + TridentSubsequentScreenToScreenCopy; + +- if (!(pTrident->Chipset == PROVIDIA9685 && pScrn->bitsPerPixel > 8)) { ++ if (!((pTrident->Chipset == PROVIDIA9685 || ++ pTrident->Chipset == CYBER9388) && pScrn->bitsPerPixel > 8)) { + infoPtr->Mono8x8PatternFillFlags = NO_PLANEMASK | + HARDWARE_PATTERN_SCREEN_ORIGIN | + BIT_ORDER_IN_BYTE_MSBFIRST; +@@ -282,7 +283,8 @@ + + REPLICATE(transparency_color); + if (transparency_color != -1) { +- if (pTrident->Chipset == PROVIDIA9685) { ++ if (pTrident->Chipset == PROVIDIA9685 || ++ pTrident->Chipset == CYBER9388) { + dst |= 1<<16; + } else { + TGUI_OPERMODE(pTrident->EngineOperation | DST_ENABLE); +@@ -294,7 +296,8 @@ + if ((pTrident->Chipset == PROVIDIA9682) || + (pTrident->Chipset == TGUI9680)) + dst |= FASTMODE; +- if (pTrident->Chipset == PROVIDIA9685) ++ if (pTrident->Chipset == PROVIDIA9685 || ++ pTrident->Chipset == CYBER9388) + dst |= 1<<21; + } + +@@ -332,7 +335,8 @@ + pTrident->BltScanDirection = 0; + REPLICATE(color); + TGUI_FMIX(XAAPatternROP[rop]); +- if (pTrident->Chipset == PROVIDIA9685) { ++ if (pTrident->Chipset == PROVIDIA9685 || ++ pTrident->Chipset == CYBER9388) { + TGUI_FPATCOL(color); + if (rop == GXcopy) + pTrident->BltScanDirection |= 1<<21; +@@ -404,10 +408,12 @@ + if ((pTrident->Chipset == PROVIDIA9682 || + pTrident->Chipset == TGUI9680) && rop == GXcopy) + pTrident->BltScanDirection |= FASTMODE; +- if (pTrident->Chipset == PROVIDIA9685 && rop == GXcopy) ++ if ((pTrident->Chipset == PROVIDIA9685 || ++ pTrident->Chipset == CYBER9388) && rop == GXcopy) + pTrident->BltScanDirection |= 1<<21; + REPLICATE(fg); +- if (pTrident->Chipset == PROVIDIA9685) { ++ if (pTrident->Chipset == PROVIDIA9685 || ++ pTrident->Chipset == CYBER9388) { + TGUI_FPATCOL(fg); + if (bg == -1) { + pTrident->BltScanDirection |= 1<<12; +@@ -463,7 +469,8 @@ + TGUI_FMIX(XAAPatternROP[rop]); + if ((pTrident->Chipset == PROVIDIA9682 || + pTrident->Chipset == TGUI9680) && rop == GXcopy) drawflag = FASTMODE; +- if (pTrident->Chipset == PROVIDIA9685) { ++ if (pTrident->Chipset == PROVIDIA9685 || ++ pTrident->Chipset == CYBER9388) { + if (rop == GXcopy) drawflag |= 1<<21; + TGUI_FPATCOL(color); + } else { +@@ -522,26 +529,30 @@ + int drawflag = 0; + + REPLICATE(fg); +- if (pTrident->Chipset == PROVIDIA9685) ++ if (pTrident->Chipset == PROVIDIA9685 || ++ pTrident->Chipset == CYBER9388) + TGUI_FPATCOL(fg); + else + TGUI_FCOLOUR(fg); + + if (bg == -1) { + drawflag |= 1<<12; +- if (pTrident->Chipset == PROVIDIA9685) ++ if (pTrident->Chipset == PROVIDIA9685 || ++ pTrident->Chipset == CYBER9388) + TGUI_BPATCOL(~fg); + else + TGUI_BCOLOUR(~fg); + } else { + REPLICATE(bg); +- if (pTrident->Chipset == PROVIDIA9685) ++ if (pTrident->Chipset == PROVIDIA9685 || ++ pTrident->Chipset == CYBER9388) + TGUI_BPATCOL(bg); + else + TGUI_BCOLOUR(bg); + } + +- if (pTrident->Chipset == PROVIDIA9685) { ++ if (pTrident->Chipset == PROVIDIA9685 || ++ pTrident->Chipset == CYBER9388) { + drawflag |= 7<<18; + if (rop == GXcopy) drawflag |= 1<<21; + } +@@ -584,7 +595,8 @@ + + REPLICATE(transparency_color); + if (transparency_color != -1) { +- if (pTrident->Chipset == PROVIDIA9685) { ++ if (pTrident->Chipset == PROVIDIA9685 || ++ pTrident->Chipset == CYBER9388) { + drawflag |= 1<<16; + } else { + TGUI_OPERMODE(pTrident->EngineOperation | DST_ENABLE); +Index: programs/Xserver/hw/xfree86/drivers/trident/trident_dac.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/trident/trident_dac.c,v +retrieving revision 1.37 +retrieving revision 1.37.2.1 +diff -U3 -r1.37 -r1.37.2.1 +--- programs/Xserver/hw/xfree86/drivers/trident/trident_dac.c 2000/12/14 19:29:44 1.37 ++++ programs/Xserver/hw/xfree86/drivers/trident/trident_dac.c 2001/02/10 11:22:10 1.37.2.1 +@@ -21,7 +21,7 @@ + * + * Author: Alan Hourihane, alanh@fairlite.demon.co.uk + */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_dac.c,v 1.37 2000/12/14 19:29:44 dawes Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_dac.c,v 1.37.2.1 2001/02/10 11:22:10 alanh Exp $ */ + + #include "xf86.h" + #include "xf86_OSproc.h" +@@ -333,7 +333,6 @@ + case CYBER9525DVD: + case CYBER9397DVD: + case CYBER9397: +- case CYBER9388: + case IMAGE975: + case IMAGE985: + if (pScrn->bitsPerPixel >= 8) +@@ -344,9 +343,12 @@ + pReg->tridentRegs3x4[PreEndFetch] = 0xFF; + /* Fall Through */ + case PROVIDIA9685: ++ case CYBER9388: ++ case CYBER9385: + pReg->tridentRegs3x4[Enhancement0] = 0x40; + /* Fall Through */ + case PROVIDIA9682: ++ case CYBER9382: + if (pTrident->UsePCIRetry) + pReg->tridentRegs3x4[PCIRetry] = 0xDF; + else +Index: programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c,v +retrieving revision 1.119 +retrieving revision 1.119.2.1 +diff -U3 -r1.119 -r1.119.2.1 +--- programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c 2000/12/08 09:05:16 1.119 ++++ programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c 2001/02/10 11:22:11 1.119.2.1 +@@ -28,7 +28,7 @@ + * Massimiliano Ghilardi, max@Linuz.sns.it, some fixes to the + * clockchip programming code. + */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c,v 1.119 2000/12/08 09:05:16 alanh Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c,v 1.119.2.1 2001/02/10 11:22:11 alanh Exp $ */ + + #include "xf1bpp.h" + #include "xf4bpp.h" +@@ -418,6 +418,7 @@ + "XAACreateInfoRec", + "XAAHelpPatternROP", + "XAAHelpSolidROP", ++ "XAAFillSolidRects", + "XAACopyROP", + "XAAPatternROP", + "XAAInit", +@@ -1635,9 +1636,9 @@ + case CYBERBLADEI7: + pTrident->ddc1Read = Tridentddc1Read; + ramtype = "SDRAM"; +- pTrident->IsCyber = TRUE; ++ /* pTrident->IsCyber = TRUE; VIA MVP4 integrated Desktop version */ + Support24bpp = TRUE; +- chipset = "CyberBlade/i7"; ++ chipset = "CyberBlade/i7/VIA MVP4"; + pTrident->NewClockCode = TRUE; + pTrident->frequency = NTSC; + break; +@@ -2579,13 +2580,10 @@ + pScrn->fbOffset = 0; + + #ifdef XvExtension +- if (pTrident->Chipset >= CYBER9397) ++ if ((pTrident->Chipset >= CYBER9397) && (!pTrident->NoAccel)) + TRIDENTInitVideo(pScreen); + #endif + +- if(pTrident->BlockHandler) +- pScreen->BlockHandler = pTrident->BlockHandler; +- + pTrident->CloseScreen = pScreen->CloseScreen; + pScreen->CloseScreen = TRIDENTCloseScreen; + pScreen->SaveScreen = TRIDENTSaveScreen; +@@ -2744,6 +2742,9 @@ + if (pTrident->DGAModes) + xfree(pTrident->DGAModes); + pScrn->vtSema = FALSE; ++ ++ if(pTrident->BlockHandler) ++ pScreen->BlockHandler = pTrident->BlockHandler; + + pScreen->CloseScreen = pTrident->CloseScreen; + return (*pScreen->CloseScreen)(scrnIndex, pScreen); +Index: programs/Xserver/hw/xfree86/drivers/trident/tridenthelper.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/trident/tridenthelper.c,v +retrieving revision 1.15 +retrieving revision 1.15.2.1 +diff -U3 -r1.15 -r1.15.2.1 +--- programs/Xserver/hw/xfree86/drivers/trident/tridenthelper.c 2000/12/14 19:29:45 1.15 ++++ programs/Xserver/hw/xfree86/drivers/trident/tridenthelper.c 2001/02/10 11:22:11 1.15.2.1 +@@ -21,7 +21,7 @@ + * + * Author: Alan Hourihane, alanh@fairlite.demon.co.uk + */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/tridenthelper.c,v 1.15 2000/12/14 19:29:45 dawes Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/tridenthelper.c,v 1.15.2.1 2001/02/10 11:22:11 alanh Exp $ */ + + #include "xf86.h" + #include "xf86_OSproc.h" +@@ -46,8 +46,7 @@ + int freq, ffreq; + int m, n, k; + int p, q, r, s; +- int startn, endn; +- int endm, endk; ++ int endn, endm, endk, startk; + + p = q = r = s = 0; + +@@ -55,23 +54,25 @@ + + if (pTrident->NewClockCode) + { +- startn = 64; + endn = 255; + endm = 63; +- endk = 3; ++ endk = 2; ++ if (clock >= 100000) startk = 0; ++ if (clock < 100000) startk = 1; ++ if (clock < 50000) startk = 2; + } + else + { +- startn = 0; + endn = 121; + endm = 31; + endk = 1; ++ startk = 0; + } + + freq = clock; + +- for (k=endk;k>=0;k--) +- for (n=startn;n<=endn;n++) ++ for (k=startk;k<=endk;k++) ++ for (n=0;n<=endn;n++) + for (m=1;m<=endm;m++) + { + ffreq = ( ( ((n + 8) * pTrident->frequency) / ((m + 2) * powerup[k]) ) * 1000); +Index: programs/Xserver/hw/xfree86/drivers/v4l/v4l.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/v4l/v4l.c,v +retrieving revision 1.19 +retrieving revision 1.19.2.1 +diff -U3 -r1.19 -r1.19.2.1 +--- programs/Xserver/hw/xfree86/drivers/v4l/v4l.c 2000/06/13 02:28:34 1.19 ++++ programs/Xserver/hw/xfree86/drivers/v4l/v4l.c 2001/02/08 19:31:10 1.19.2.1 +@@ -2,7 +2,7 @@ + * video4linux Xv Driver + * based on Michael Schimek's permedia 2 driver. + */ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/v4l/v4l.c,v 1.19 2000/06/13 02:28:34 dawes Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/v4l/v4l.c,v 1.19.2.1 2001/02/08 19:31:10 dawes Exp $ */ + + #include "videodev.h" + #include "xf86.h" +@@ -37,7 +37,7 @@ + + DriverRec V4L = { + 40000, +- "Xv driver for video4linux", ++ "v4l", + V4LIdentify, /* Identify*/ + V4LProbe, /* Probe */ + V4LAvailableOptions, +Index: programs/Xserver/hw/xfree86/etc/bindist/FreeBSD/var-list +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/etc/bindist/FreeBSD/var-list,v +retrieving revision 1.2 +retrieving revision 1.2.2.1 +diff -U3 -r1.2 -r1.2.2.1 +--- programs/Xserver/hw/xfree86/etc/bindist/FreeBSD/var-list 2000/02/22 18:24:42 1.2 ++++ programs/Xserver/hw/xfree86/etc/bindist/FreeBSD/var-list 2000/12/20 18:57:55 1.2.2.1 +@@ -1 +1,2 @@ +-db ++db/xdm ++db/xkb +Index: programs/Xserver/hw/xfree86/etc/bindist/FreeBSD-aout/var-list +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/etc/bindist/FreeBSD-aout/var-list,v +retrieving revision 1.1 +retrieving revision 1.1.2.1 +diff -U3 -r1.1 -r1.1.2.1 +--- programs/Xserver/hw/xfree86/etc/bindist/FreeBSD-aout/var-list 2000/02/27 00:24:31 1.1 ++++ programs/Xserver/hw/xfree86/etc/bindist/FreeBSD-aout/var-list 2000/12/20 18:57:56 1.1.2.1 +@@ -1 +1,2 @@ +-db ++db/xdm ++db/xkb +Index: programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/var-list +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/var-list,v +retrieving revision 1.3 +retrieving revision 1.3.2.1 +diff -U3 -r1.3 -r1.3.2.1 +--- programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/var-list 2000/12/14 21:45:12 1.3 ++++ programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/var-list 2000/12/20 18:57:57 1.3.2.1 +@@ -1 +1,2 @@ +-lib ++lib/xdm ++lib/xkb +Index: programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/var-list +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/var-list,v +retrieving revision 1.2 +retrieving revision 1.2.2.1 +diff -U3 -r1.2 -r1.2.2.1 +--- programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/var-list 2000/12/14 21:45:13 1.2 ++++ programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/var-list 2000/12/20 18:57:57 1.2.2.1 +@@ -1 +1,2 @@ +-lib ++lib/xdm ++lib/xkb +Index: programs/Xserver/hw/xfree86/etc/bindist/Linux-m68k/var-list +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-m68k/var-list,v +retrieving revision 1.2 +retrieving revision 1.2.2.1 +diff -U3 -r1.2 -r1.2.2.1 +--- programs/Xserver/hw/xfree86/etc/bindist/Linux-m68k/var-list 2000/12/14 21:45:14 1.2 ++++ programs/Xserver/hw/xfree86/etc/bindist/Linux-m68k/var-list 2000/12/20 18:57:58 1.2.2.1 +@@ -1 +1,2 @@ +-lib ++lib/xdm ++lib/xkb +Index: programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/var-list +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/var-list,v +retrieving revision 1.2 +retrieving revision 1.2.2.1 +diff -U3 -r1.2 -r1.2.2.1 +--- programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/var-list 2000/12/14 21:45:14 1.2 ++++ programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/var-list 2000/12/20 18:57:58 1.2.2.1 +@@ -1 +1,2 @@ +-lib ++lib/xdm ++lib/xkb +Index: programs/Xserver/hw/xfree86/etc/bindist/Linux-ppc/var-list +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ppc/var-list,v +retrieving revision 1.2 +retrieving revision 1.2.2.1 +diff -U3 -r1.2 -r1.2.2.1 +--- programs/Xserver/hw/xfree86/etc/bindist/Linux-ppc/var-list 2000/12/14 21:45:15 1.2 ++++ programs/Xserver/hw/xfree86/etc/bindist/Linux-ppc/var-list 2000/12/20 18:57:59 1.2.2.1 +@@ -1 +1,2 @@ +-lib ++lib/xdm ++lib/xkb +Index: programs/Xserver/hw/xfree86/etc/bindist/NetBSD-aout-ix86/var-list +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/etc/bindist/NetBSD-aout-ix86/var-list,v +retrieving revision 1.1 +retrieving revision 1.1.2.1 +diff -U3 -r1.1 -r1.1.2.1 +--- programs/Xserver/hw/xfree86/etc/bindist/NetBSD-aout-ix86/var-list 2000/12/09 21:46:28 1.1 ++++ programs/Xserver/hw/xfree86/etc/bindist/NetBSD-aout-ix86/var-list 2000/12/20 18:57:59 1.1.2.1 +@@ -1 +1,2 @@ +-db ++db/xdm ++db/xkb +Index: programs/Xserver/hw/xfree86/etc/bindist/NetBSD-ix86/var-list +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/etc/bindist/NetBSD-ix86/var-list,v +retrieving revision 1.1 +retrieving revision 1.1.2.1 +diff -U3 -r1.1 -r1.1.2.1 +--- programs/Xserver/hw/xfree86/etc/bindist/NetBSD-ix86/var-list 2000/02/27 01:26:50 1.1 ++++ programs/Xserver/hw/xfree86/etc/bindist/NetBSD-ix86/var-list 2000/12/20 18:58:00 1.1.2.1 +@@ -1 +1,2 @@ +-db ++db/xdm ++db/xkb +Index: programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-ix86/var-list +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-ix86/var-list,v +retrieving revision 1.1 +retrieving revision 1.1.2.1 +diff -U3 -r1.1 -r1.1.2.1 +--- programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-ix86/var-list 2000/02/27 01:29:03 1.1 ++++ programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-ix86/var-list 2000/12/20 18:58:00 1.1.2.1 +@@ -1 +1,2 @@ +-db ++db/xdm ++db/xkb +Index: programs/Xserver/hw/xfree86/etc/bindist/common/host.def +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/etc/bindist/common/host.def,v +retrieving revision 1.8 +retrieving revision 1.8.2.1 +diff -U3 -r1.8 -r1.8.2.1 +--- programs/Xserver/hw/xfree86/etc/bindist/common/host.def 2000/12/15 21:54:37 1.8 ++++ programs/Xserver/hw/xfree86/etc/bindist/common/host.def 2000/12/19 18:13:36 1.8.2.1 +@@ -6,7 +6,7 @@ + * - XFree86 doctools package (requires groff) + * - nroff/troff or groff + * +- * $XFree86: xc/programs/Xserver/hw/xfree86/etc/bindist/common/host.def,v 1.8 2000/12/15 21:54:37 dawes Exp $ ++ * $XFree86: xc/programs/Xserver/hw/xfree86/etc/bindist/common/host.def,v 1.8.2.1 2000/12/19 18:13:36 dawes Exp $ + */ + + #define HasSgmlFmt YES +@@ -21,5 +21,5 @@ + + #define InstallHardcopyDocs YES + #define HardcopyDocDirs RX XIE XKB XPRINT +- ++#define InstallMiscManPages YES + +Index: programs/Xserver/hw/xfree86/os-support/bsd/bsd_init.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_init.c,v +retrieving revision 3.15 +retrieving revision 3.15.2.1 +diff -U3 -r3.15 -r3.15.2.1 +--- programs/Xserver/hw/xfree86/os-support/bsd/bsd_init.c 2000/11/14 21:59:24 3.15 ++++ programs/Xserver/hw/xfree86/os-support/bsd/bsd_init.c 2001/02/11 18:03:48 3.15.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_init.c,v 3.15 2000/11/14 21:59:24 dawes Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_init.c,v 3.15.2.1 2001/02/11 18:03:48 herrb Exp $ */ + /* + * Copyright 1992 by Rich Murphey <Rich@Rice.edu> + * Copyright 1993 by David Wexelblat <dwex@goblin.org> +@@ -66,7 +66,7 @@ + #define PCVT_CONSOLE_MODE O_RDWR|O_NDELAY + #endif + +-#ifdef WSCONS_SUPPORT ++#if defined(WSCONS_SUPPORT) && defined(__NetBSD__) + /* NetBSD's new console driver */ + #define WSCONS_PCVT_COMPAT_CONSOLE_DEV "/dev/ttyE0" + #endif +@@ -485,7 +485,7 @@ + #endif + + fd = open(PCVT_CONSOLE_DEV, PCVT_CONSOLE_MODE, 0); +-#ifdef WSCONS_SUPPORT ++#ifdef WSCONS_PCVT_COMPAT_CONSOLE_DEV + if (fd < 0) + { + fd = open(WSCONS_PCVT_COMPAT_CONSOLE_DEV, PCVT_CONSOLE_MODE, 0); +Index: programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v +retrieving revision 1.17 +retrieving revision 1.17.2.1 +diff -U3 -r1.17 -r1.17.2.1 +--- programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c 2000/12/18 15:52:25 1.17 ++++ programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c 2001/02/11 18:03:48 1.17.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v 1.17 2000/12/18 15:52:25 dawes Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v 1.17.2.1 2001/02/11 18:03:48 herrb Exp $ */ + + /* + * Copyright 1999 by The XFree86 Project, Inc. +@@ -598,6 +598,23 @@ + } + #endif /* USBMOUSE */ + ++static Bool ++bsdMousePreInit(InputInfoPtr pInfo, const char *protocol, int flags) ++{ ++ /* The protocol is guaranteed to be one of the internalNames[] */ ++#ifdef WSCONS_SUPPORT ++ if (xf86NameCmp(protocol, "WSMouse") == 0) { ++ return wsconsPreInit(pInfo, protocol, flags); ++ } ++#endif ++#ifdef USBMOUSE_SUPPORT ++ if (xf86NameCmp(protocol, "usb") == 0) { ++ return usbPreInit(pInfo, protocol, flags); ++ } ++#endif ++ return TRUE; ++} ++ + OSMouseInfoPtr + xf86OSMouseInit(int flags) + { +@@ -615,13 +632,7 @@ + p->SetPS2Res = SetSysMouseRes; + p->SetBMRes = SetSysMouseRes; + p->SetMiscRes = SetSysMouseRes; +-#endif +- /* XXX This assumes that WSCONS and USB are mutually exclusive. */ +-#if defined(WSCONS_SUPPORT) +- p->PreInit = wsconsPreInit; +-#endif +-#if defined(USBMOUSE_SUPPORT) +- p->PreInit = usbPreInit; + #endif ++ p->PreInit = bsdMousePreInit; + return p; + } +Index: programs/Xserver/hw/xfree86/parser/Monitor.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/parser/Monitor.c,v +retrieving revision 1.18 +retrieving revision 1.18.2.1 +diff -U3 -r1.18 -r1.18.2.1 +--- programs/Xserver/hw/xfree86/parser/Monitor.c 2000/12/05 19:06:53 1.18 ++++ programs/Xserver/hw/xfree86/parser/Monitor.c 2001/02/09 20:45:11 1.18.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/parser/Monitor.c,v 1.18 2000/12/05 19:06:53 paulo Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/parser/Monitor.c,v 1.18.2.1 2001/02/09 20:45:11 paulo Exp $ */ + /* + * + * Copyright (c) 1997 Metro Link Incorporated +@@ -434,7 +434,7 @@ + break; + case DASH: + if (xf86getToken (NULL) != NUMBER || +- val.realnum < ptr->mon_hsync[ptr->mon_n_hsync].lo) ++ (float)val.realnum < ptr->mon_hsync[ptr->mon_n_hsync].lo) + Error (HORIZSYNC_MSG, NULL); + ptr->mon_hsync[ptr->mon_n_hsync].hi = val.realnum; + break; +@@ -468,7 +468,7 @@ + break; + case DASH: + if (xf86getToken (NULL) != NUMBER || +- val.realnum < ptr->mon_vrefresh[ptr->mon_n_vrefresh].lo) ++ (float)val.realnum < ptr->mon_vrefresh[ptr->mon_n_vrefresh].lo) + Error (VERTREFRESH_MSG, NULL); + ptr->mon_vrefresh[ptr->mon_n_vrefresh].hi = val.realnum; + break; +Index: programs/Xserver/hw/xfree86/vgahw/vgaHW.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/vgahw/vgaHW.c,v +retrieving revision 1.42 +retrieving revision 1.42.2.1 +diff -U3 -r1.42 -r1.42.2.1 +--- programs/Xserver/hw/xfree86/vgahw/vgaHW.c 2000/11/14 18:20:38 1.42 ++++ programs/Xserver/hw/xfree86/vgahw/vgaHW.c 2001/02/13 21:06:19 1.42.2.1 +@@ -1,4 +1,4 @@ +-/* $XFree86: xc/programs/Xserver/hw/xfree86/vgahw/vgaHW.c,v 1.42 2000/11/14 18:20:38 dawes Exp $ */ ++/* $XFree86: xc/programs/Xserver/hw/xfree86/vgahw/vgaHW.c,v 1.42.2.1 2001/02/13 21:06:19 dawes Exp $ */ + + /* + * +@@ -1117,7 +1117,7 @@ + } else { + /* save the colourmap */ + hwp->writeDacReadAddr(hwp, 0x02); +- for (i = 3; i < 768; i++) { ++ for (i = 6; i < 768; i++) { + save->DAC[i] = hwp->readDacData(hwp); + DACDelay(hwp); + #ifdef DEBUG +Index: programs/Xserver/hw/xfree86/xf86cfg/Imakefile +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/xf86cfg/Imakefile,v +retrieving revision 1.13 +retrieving revision 1.13.2.1 +diff -U3 -r1.13 -r1.13.2.1 +--- programs/Xserver/hw/xfree86/xf86cfg/Imakefile 2000/12/14 01:21:57 1.13 ++++ programs/Xserver/hw/xfree86/xf86cfg/Imakefile 2001/02/09 20:45:13 1.13.2.1 +@@ -1,4 +1,4 @@ +-XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/Imakefile,v 1.13 2000/12/14 01:21:57 dawes Exp $ ++XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/Imakefile,v 1.13.2.1 2001/02/09 20:45:13 paulo Exp $ + + XCOMM CDEBUGFLAGS=-g -Wall -ansi -pedantic + +@@ -96,7 +96,7 @@ + #endif + + DEFINES = -DXF86CONFIG=\"XConfigFile\" $(MODULEDEFINES) \ +- $(CURSESDEFINES) ++ $(CURSESDEFINES) -DPROJECT_ROOT=\"ProjectRoot\" + + #if HasDlopen + DLLIB = DlLibrary +Index: programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad,v +retrieving revision 1.6 +retrieving revision 1.6.2.1 +diff -U3 -r1.6 -r1.6.2.1 +--- programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad 2000/11/30 20:55:16 1.6 ++++ programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad 2001/02/09 20:45:11 1.6.2.1 +@@ -26,7 +26,7 @@ + !! + !! Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> + !! +-!! $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad,v 1.6 2000/11/30 20:55:16 paulo Exp $ ++!! $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/XF86Cfg.ad,v 1.6.2.1 2001/02/09 20:45:11 paulo Exp $ + !! + + *Form.background: gray85 +@@ -1338,7 +1338,7 @@ + <tt><b>Apply changes</b></tt> button there is no way to undo your changes.</font> + + +-*Expert.geometry: 800x600 ++*Expert.geometry: 640x460 + *Expert*vpane.min: 64 + *Expert*vpane.max: 64 + *Expert*vpane.showGrip: False +@@ -1767,3 +1767,4 @@ + *expert*tree*buffers.flagsL.fromVert: size + *expert*tree*buffers.flags.fromVert: size + *expert*tree*buffers.flags.fromHoriz: flagsL ++*Expert*close.label: Close +\ No newline at end of file +Index: programs/Xserver/hw/xfree86/xf86cfg/accessx.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/xf86cfg/accessx.c,v +retrieving revision 1.7 +retrieving revision 1.7.2.1 +diff -U3 -r1.7 -r1.7.2.1 +--- programs/Xserver/hw/xfree86/xf86cfg/accessx.c 2000/10/20 14:59:05 1.7 ++++ programs/Xserver/hw/xfree86/xf86cfg/accessx.c 2001/02/09 20:45:11 1.7.2.1 +@@ -26,7 +26,7 @@ + * + * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> + * +- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/accessx.c,v 1.7 2000/10/20 14:59:05 alanh Exp $ ++ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/accessx.c,v 1.7.2.1 2001/02/09 20:45:11 paulo Exp $ + */ + + #include "config.h" +@@ -179,15 +179,12 @@ + XtNstate, + (xkb_info->xkb->ctrls->enabled_ctrls & + (XkbAccessXKeysMask | XkbStickyKeysMask | +- XkbMouseKeysMask | XkbMouseKeysAccelMask | +- XkbRepeatKeysMask | XkbSlowKeysMask | +- XkbBounceKeysMask)) != 0, NULL, 0); ++ XkbSlowKeysMask | XkbBounceKeysMask)) != 0, NULL, 0); + + apply = XtCreateManagedWidget("apply", commandWidgetClass, accessx, NULL, 0); + XtAddCallback(apply, XtNcallback, ApplyCallback, NULL); + + form = XtCreateManagedWidget("Accessx", formWidgetClass, accessx, NULL, 0); +- XtAddCallback(enable, XtNcallback, EnableCallback, (XtPointer)form); + timeoutToggle = XtVaCreateManagedWidget("timeoutToggle", toggleWidgetClass, + form, XtNstate, + xkb_info->xkb->ctrls->ax_timeout > 60 +@@ -450,7 +447,6 @@ + + XtSetArg(args[0], XtNstate, &state); + XtGetValues(enable, args, 1); +- EnableCallback(enable, (XtPointer)form, (XtPointer)(long)state); + } + + void +@@ -471,7 +467,7 @@ + static void + EnableCallback(Widget w, XtPointer user_data, XtPointer call_data) + { +- XtSetSensitive(user_data, (long)call_data); ++ XtSetSensitive((Widget)user_data, (long)call_data); + } + + /*ARGSUSED*/ +@@ -534,162 +530,148 @@ + XtSetArg(args[0], XtNstate, &state); + XtGetValues(enable, args, 1); + if (state) { +- xkb_info->xkb->ctrls->enabled_ctrls |= XkbAccessXKeysMask; + xkb_info->config.initial_ctrls |= XkbAccessXKeysMask; ++ xkb_info->xkb->ctrls->enabled_ctrls |= XkbAccessXKeysMask; ++ } ++ else { ++ xkb_info->config.initial_ctrls &= ~XkbAccessXKeysMask; ++ xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbAccessXKeysMask; ++ } ++ ++ /* Timeout */ ++ XtSetArg(args[0], XtNstate, &state); ++ XtGetValues(timeoutToggle, args, 1); ++ if (state) ++ xkb_info->config.ax_timeout = ++ xkb_info->xkb->ctrls->ax_timeout = timeout->value * 60; ++ else ++ xkb_info->config.ax_timeout = ++ xkb_info->xkb->ctrls->ax_timeout = 65535; ++ ++ /* Enable StickyKeys */ ++ XtSetArg(args[0], XtNstate, &state); ++ XtGetValues(sticky, args, 1); ++ if (state) { ++ xkb_info->config.initial_ctrls |= XkbStickyKeysMask; ++ xkb_info->xkb->ctrls->enabled_ctrls |= XkbStickyKeysMask; ++ } ++ else { ++ xkb_info->config.initial_ctrls &= ~XkbStickyKeysMask; ++ xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbStickyKeysMask; ++ } ++ XtSetArg(args[0], XtNstate, &state); ++ XtGetValues(stickyAuto, args, 1); ++ if (state) { ++ xkb_info->config.initial_opts &= ~XkbAX_TwoKeysMask; ++ xkb_info->config.initial_opts &= ~XkbAX_LatchToLockMask; ++ xkb_info->xkb->ctrls->ax_options &= ~XkbAX_TwoKeysMask; ++ xkb_info->xkb->ctrls->ax_options &= ~XkbAX_LatchToLockMask; ++ } ++ else { ++ xkb_info->config.initial_opts &= ~XkbAX_TwoKeysMask; ++ xkb_info->config.initial_opts |= XkbAX_LatchToLockMask; ++ xkb_info->xkb->ctrls->ax_options &= ~XkbAX_TwoKeysMask; ++ xkb_info->xkb->ctrls->ax_options |= XkbAX_LatchToLockMask; ++ } ++ XtSetArg(args[0], XtNstate, &state); ++ XtGetValues(stickyBeep, args, 1); ++ if (state) { ++ xkb_info->config.initial_opts |= XkbAX_StickyKeysFBMask; ++ xkb_info->xkb->ctrls->ax_options |= XkbAX_StickyKeysFBMask; ++ } ++ else { ++ xkb_info->config.initial_opts &= ~XkbAX_StickyKeysFBMask; ++ xkb_info->xkb->ctrls->ax_options &= ~XkbAX_StickyKeysFBMask; ++ } ++ ++ /* Enable MouseKeys */ ++ XtSetArg(args[0], XtNstate, &state); ++ XtGetValues(mouse, args, 1); ++ if (state) { ++ xkb_info->config.initial_ctrls |= XkbMouseKeysAccelMask; ++ xkb_info->xkb->ctrls->enabled_ctrls |= XkbMouseKeysMask | ++ XkbMouseKeysAccelMask; ++ xkb_info->config.mk_delay = ++ xkb_info->xkb->ctrls->mk_delay = mouseDelay->value * 100; ++ xkb_info->config.mk_interval = ++ xkb_info->xkb->ctrls->mk_interval = 40; ++ xkb_info->config.mk_time_to_max = ++ xkb_info->xkb->ctrls->mk_time_to_max = ++ (mouseTime->value * 1000) / xkb_info->xkb->ctrls->mk_interval; ++ xkb_info->config.mk_max_speed = ++ xkb_info->xkb->ctrls->mk_max_speed = ++ mouseSpeed->value * mouseTime->value; ++ xkb_info->config.mk_curve = xkb_info->xkb->ctrls->mk_curve = 0; ++ } ++ else { ++ xkb_info->config.initial_ctrls &= ~(XkbMouseKeysMask | ++ XkbMouseKeysAccelMask); ++ xkb_info->xkb->ctrls->enabled_ctrls &= ~(XkbMouseKeysMask | ++ XkbMouseKeysAccelMask); ++ } ++ ++ /* Enable RepeatKeys */ ++ XtSetArg(args[0], XtNstate, &state); ++ XtGetValues(repeat, args, 1); ++ if (state) { ++ xkb_info->config.initial_ctrls |= XkbRepeatKeysMask; ++ xkb_info->xkb->ctrls->enabled_ctrls |= XkbRepeatKeysMask; ++ xkb_info->config.repeat_interval = ++ xkb_info->xkb->ctrls->repeat_interval = repeatRate->value * 1000; ++ xkb_info->config.repeat_delay = ++ xkb_info->xkb->ctrls->repeat_delay = repeatDelay->value * 1000; ++ } ++ else { ++ xkb_info->config.initial_ctrls &= ~XkbRepeatKeysMask; ++ xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbRepeatKeysMask; ++ } + +- /* Timeout */ +- XtSetArg(args[0], XtNstate, &state); +- XtGetValues(timeoutToggle, args, 1); +- if (state) +- xkb_info->config.ax_timeout = +- xkb_info->xkb->ctrls->ax_timeout = timeout->value * 60; +- else +- xkb_info->config.ax_timeout = +- xkb_info->xkb->ctrls->ax_timeout = 65535; +- +- /* Enable StickyKeys */ +- XtSetArg(args[0], XtNstate, &state); +- XtGetValues(sticky, args, 1); +- if (state) { +- xkb_info->config.initial_ctrls |= XkbStickyKeysMask; +- xkb_info->xkb->ctrls->enabled_ctrls |= XkbStickyKeysMask; +- } +- else { +- xkb_info->config.initial_ctrls &= ~XkbStickyKeysMask; +- xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbStickyKeysMask; +- } +- XtSetArg(args[0], XtNstate, &state); +- XtGetValues(stickyAuto, args, 1); +- if (state) { +- xkb_info->config.initial_opts &= ~XkbAX_TwoKeysMask; +- xkb_info->config.initial_opts &= ~XkbAX_LatchToLockMask; +- xkb_info->xkb->ctrls->ax_options &= ~XkbAX_TwoKeysMask; +- xkb_info->xkb->ctrls->ax_options &= ~XkbAX_LatchToLockMask; +- } +- else { +- xkb_info->config.initial_opts &= ~XkbAX_TwoKeysMask; +- xkb_info->config.initial_opts |= XkbAX_LatchToLockMask; +- xkb_info->xkb->ctrls->ax_options &= ~XkbAX_TwoKeysMask; +- xkb_info->xkb->ctrls->ax_options |= XkbAX_LatchToLockMask; +- } +- XtSetArg(args[0], XtNstate, &state); +- XtGetValues(stickyBeep, args, 1); +- if (state) { +- xkb_info->config.initial_opts |= XkbAX_StickyKeysFBMask; +- xkb_info->xkb->ctrls->ax_options |= XkbAX_StickyKeysFBMask; +- } +- else { +- xkb_info->config.initial_opts &= ~XkbAX_StickyKeysFBMask; +- xkb_info->xkb->ctrls->ax_options &= ~XkbAX_StickyKeysFBMask; +- } +- +- /* Enable MouseKeys */ +- XtSetArg(args[0], XtNstate, &state); +- XtGetValues(mouse, args, 1); +- if (state) { +- xkb_info->config.initial_ctrls |= XkbMouseKeysMask | +- XkbMouseKeysAccelMask; +- xkb_info->xkb->ctrls->enabled_ctrls |= XkbMouseKeysMask | +- XkbMouseKeysAccelMask; +- xkb_info->config.mk_delay = +- xkb_info->xkb->ctrls->mk_delay = mouseDelay->value * 100; +- xkb_info->config.mk_interval = +- xkb_info->xkb->ctrls->mk_interval = 40; +- xkb_info->config.mk_time_to_max = +- xkb_info->xkb->ctrls->mk_time_to_max = +- (mouseTime->value * 1000) / xkb_info->xkb->ctrls->mk_interval; +- xkb_info->config.mk_max_speed = +- xkb_info->xkb->ctrls->mk_max_speed = +- mouseSpeed->value * mouseTime->value; +- xkb_info->config.mk_curve = xkb_info->xkb->ctrls->mk_curve = 0; +- } +- else { +- xkb_info->config.initial_ctrls &= ~(XkbMouseKeysMask | +- XkbMouseKeysAccelMask); +- xkb_info->xkb->ctrls->enabled_ctrls &= ~(XkbMouseKeysMask | +- XkbMouseKeysAccelMask); +- } +- +- /* Enable RepeatKeys */ +- XtSetArg(args[0], XtNstate, &state); +- XtGetValues(repeat, args, 1); +- if (state) { +- xkb_info->config.initial_ctrls |= XkbRepeatKeysMask; +- xkb_info->xkb->ctrls->enabled_ctrls |= XkbRepeatKeysMask; +- xkb_info->config.repeat_interval = +- xkb_info->xkb->ctrls->repeat_interval = repeatRate->value * 1000; +- xkb_info->config.repeat_delay = +- xkb_info->xkb->ctrls->repeat_delay = repeatDelay->value * 1000; +- } +- else { +- xkb_info->config.initial_ctrls &= ~XkbRepeatKeysMask; +- xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbRepeatKeysMask; +- } +- +- /* Enable SlowKeys */ +- XtSetArg(args[0], XtNstate, &state); +- XtGetValues(slowToggle, args, 1); +- if (state) { +- xkb_info->config.initial_ctrls |= XkbSlowKeysMask; +- xkb_info->xkb->ctrls->enabled_ctrls |= XkbSlowKeysMask; +- xkb_info->config.slow_keys_delay = +- xkb_info->xkb->ctrls->slow_keys_delay = slow->value * 1000; +- } +- else { +- xkb_info->config.initial_ctrls &= ~XkbSlowKeysMask; +- xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbSlowKeysMask; +- } +- XtSetArg(args[0], XtNstate, &state); +- XtGetValues(slowPressed, args, 1); +- if (state) { +- xkb_info->config.initial_opts |= XkbAX_SKPressFBMask; +- xkb_info->xkb->ctrls->ax_options |= XkbAX_SKPressFBMask; +- } +- else { +- xkb_info->config.initial_opts &= ~XkbAX_SKPressFBMask; +- xkb_info->xkb->ctrls->ax_options &= ~XkbAX_SKPressFBMask; +- } +- XtSetArg(args[0], XtNstate, &state); +- XtGetValues(slowAccepted, args, 1); +- if (state) { +- xkb_info->config.initial_opts |= XkbAX_SKAcceptFBMask; +- xkb_info->xkb->ctrls->ax_options |= XkbAX_SKAcceptFBMask; +- } +- else { +- xkb_info->config.initial_opts &= ~XkbAX_SKAcceptFBMask; +- xkb_info->xkb->ctrls->ax_options &= ~XkbAX_SKAcceptFBMask; +- } +- +- /* Enable BounceKeys */ +- XtSetArg(args[0], XtNstate, &state); +- XtGetValues(bounceToggle, args, 1); +- if (state) { +- xkb_info->config.initial_ctrls |= XkbBounceKeysMask; +- xkb_info->xkb->ctrls->enabled_ctrls |= XkbBounceKeysMask; +- xkb_info->config.debounce_delay = +- xkb_info->xkb->ctrls->debounce_delay = bounce->value * 1000; +- } +- else { +- xkb_info->config.initial_ctrls &= ~XkbBounceKeysMask; +- xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbBounceKeysMask; +- } +- } +- else { +- xkb_info->config.initial_ctrls &= +- ~(XkbAccessXKeysMask | XkbStickyKeysMask | XkbMouseKeysMask | +- XkbMouseKeysAccelMask | XkbRepeatKeysMask | XkbSlowKeysMask | +- XkbBounceKeysMask); +- xkb_info->config.initial_opts &= +- ~(XkbAX_TwoKeysMask | XkbAX_LatchToLockMask | XkbAX_StickyKeysFBMask | +- XkbAX_SKPressFBMask | XkbAX_SKAcceptFBMask); +- +- xkb_info->xkb->ctrls->enabled_ctrls &= +- ~(XkbAccessXKeysMask | XkbStickyKeysMask | XkbMouseKeysMask | +- XkbMouseKeysAccelMask | XkbRepeatKeysMask | XkbSlowKeysMask | +- XkbBounceKeysMask); +- xkb_info->xkb->ctrls->ax_options &= +- ~(XkbAX_TwoKeysMask | XkbAX_LatchToLockMask | XkbAX_StickyKeysFBMask | +- XkbAX_SKPressFBMask | XkbAX_SKAcceptFBMask); ++ /* Enable SlowKeys */ ++ XtSetArg(args[0], XtNstate, &state); ++ XtGetValues(slowToggle, args, 1); ++ if (state) { ++ xkb_info->config.initial_ctrls |= XkbSlowKeysMask; ++ xkb_info->xkb->ctrls->enabled_ctrls |= XkbSlowKeysMask; ++ xkb_info->config.slow_keys_delay = ++ xkb_info->xkb->ctrls->slow_keys_delay = slow->value * 1000; ++ } ++ else { ++ xkb_info->config.initial_ctrls &= ~XkbSlowKeysMask; ++ xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbSlowKeysMask; ++ } ++ XtSetArg(args[0], XtNstate, &state); ++ XtGetValues(slowPressed, args, 1); ++ if (state) { ++ xkb_info->config.initial_opts |= XkbAX_SKPressFBMask; ++ xkb_info->xkb->ctrls->ax_options |= XkbAX_SKPressFBMask; ++ } ++ else { ++ xkb_info->config.initial_opts &= ~XkbAX_SKPressFBMask; ++ xkb_info->xkb->ctrls->ax_options &= ~XkbAX_SKPressFBMask; ++ } ++ XtSetArg(args[0], XtNstate, &state); ++ XtGetValues(slowAccepted, args, 1); ++ if (state) { ++ xkb_info->config.initial_opts |= XkbAX_SKAcceptFBMask; ++ xkb_info->xkb->ctrls->ax_options |= XkbAX_SKAcceptFBMask; ++ } ++ else { ++ xkb_info->config.initial_opts &= ~XkbAX_SKAcceptFBMask; ++ xkb_info->xkb->ctrls->ax_options &= ~XkbAX_SKAcceptFBMask; ++ } ++ ++ /* Enable BounceKeys */ ++ XtSetArg(args[0], XtNstate, &state); ++ XtGetValues(bounceToggle, args, 1); ++ if (state) { ++ xkb_info->config.initial_ctrls |= XkbBounceKeysMask; ++ xkb_info->xkb->ctrls->enabled_ctrls |= XkbBounceKeysMask; ++ xkb_info->config.debounce_delay = ++ xkb_info->xkb->ctrls->debounce_delay = bounce->value * 1000; ++ } ++ else { ++ xkb_info->config.initial_ctrls &= ~XkbBounceKeysMask; ++ xkb_info->xkb->ctrls->enabled_ctrls &= ~XkbBounceKeysMask; + } + + XkbSetControls(DPY, XkbAllControlsMask, xkb_info->xkb); +Index: programs/Xserver/hw/xfree86/xf86cfg/expert.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/xf86cfg/expert.c,v +retrieving revision 1.5 +retrieving revision 1.5.2.1 +diff -U3 -r1.5 -r1.5.2.1 +--- programs/Xserver/hw/xfree86/xf86cfg/expert.c 2000/12/02 15:31:02 1.5 ++++ programs/Xserver/hw/xfree86/xf86cfg/expert.c 2001/02/09 20:45:12 1.5.2.1 +@@ -26,7 +26,7 @@ + * + * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> + * +- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/expert.c,v 1.5 2000/12/02 15:31:02 tsi Exp $ ++ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/expert.c,v 1.5.2.1 2001/02/09 20:45:12 paulo Exp $ + */ + + #include "config.h" +@@ -4615,6 +4615,9 @@ + XtNtreeParent, config, NULL, 0); + node->next = NewNode(mainNode, flags, NULL, config, NULL); + node = node->next; ++ if (XF86Config->conf_flags == NULL) ++ XF86Config->conf_flags = (XF86ConfFlagsPtr) ++ XtCalloc(1, sizeof(XF86ConfFlagsRec)); + XtAddCallback(flags, XtNcallback, OptionsCallback, + (XtPointer)&(XF86Config->conf_flags->flg_option_lst)); + +Index: programs/Xserver/hw/xfree86/xf86cfg/interface.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/xf86cfg/interface.c,v +retrieving revision 1.13 +retrieving revision 1.13.2.1 +diff -U3 -r1.13 -r1.13.2.1 +--- programs/Xserver/hw/xfree86/xf86cfg/interface.c 2000/12/09 02:23:26 1.13 ++++ programs/Xserver/hw/xfree86/xf86cfg/interface.c 2001/02/09 20:45:13 1.13.2.1 +@@ -26,7 +26,7 @@ + * + * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> + * +- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/interface.c,v 1.13 2000/12/09 02:23:26 dawes Exp $ ++ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/interface.c,v 1.13.2.1 2001/02/09 20:45:13 paulo Exp $ + */ + + #include <X11/IntrinsicP.h> +@@ -61,7 +61,11 @@ + #include "stubs.h" + + #define randomize() srand((unsigned)time((time_t*)NULL)) ++#ifdef PROJECT_ROOT ++#define DefaultXFree86Dir PROJECT_ROOT ++#else + #define DefaultXFree86Dir "/usr/X11R6" ++#endif + + /* + * Prototypes +Index: programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c,v +retrieving revision 1.4 +retrieving revision 1.4.2.1 +diff -U3 -r1.4 -r1.4.2.1 +--- programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c 2000/11/30 20:55:18 1.4 ++++ programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c 2001/02/09 20:45:13 1.4.2.1 +@@ -26,7 +26,7 @@ + * + * Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br> + * +- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c,v 1.4 2000/11/30 20:55:18 paulo Exp $ ++ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/monitor-cfg.c,v 1.4.2.1 2001/02/09 20:45:13 paulo Exp $ + */ + + #include "xf86config.h" +@@ -275,6 +275,7 @@ + range[i].lo = range[i].hi = val; + if (++i >= nrange || *str == '\0') + break; ++ continue; + } + else if (*str != '-') + return (0); +Index: programs/Xserver/xkb/Imakefile +=================================================================== +RCS file: /cvs/xc/programs/Xserver/xkb/Imakefile,v +retrieving revision 3.14 +retrieving revision 3.14.2.1 +diff -U3 -r3.14 -r3.14.2.1 +--- programs/Xserver/xkb/Imakefile 2000/10/20 14:59:09 3.14 ++++ programs/Xserver/xkb/Imakefile 2001/01/22 19:49:33 3.14.2.1 +@@ -1,5 +1,5 @@ + XCOMM $TOG: Imakefile /main/12 1997/07/16 14:51:50 kaleb $ +-XCOMM $XFree86: xc/programs/Xserver/xkb/Imakefile,v 3.14 2000/10/20 14:59:09 alanh Exp $ ++XCOMM $XFree86: xc/programs/Xserver/xkb/Imakefile,v 3.14.2.1 2001/01/22 19:49:33 dawes Exp $ + #define SGIHyperOpt + #include <Server.tmpl> + +@@ -67,6 +67,8 @@ + LinkSourceFile(XKBAlloc.c,$(XLIBSRC)) + LinkSourceFile(XKBGAlloc.c,$(XLIBSRC)) + ++#if UseConfDirForXkb + LinkConfDirectory(xkb,.,xkb,.) ++#endif + + DependTarget() +Index: programs/Xserver/xkb/xkbActions.c +=================================================================== +RCS file: /cvs/xc/programs/Xserver/xkb/xkbActions.c,v +retrieving revision 3.3 +retrieving revision 3.3.2.1 +diff -U3 -r3.3 -r3.3.2.1 +--- programs/Xserver/xkb/xkbActions.c 2000/04/04 19:25:23 3.3 ++++ programs/Xserver/xkb/xkbActions.c 2001/02/09 20:45:15 3.3.2.1 +@@ -24,7 +24,7 @@ + THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ********************************************************/ +-/* $XFree86: xc/programs/Xserver/xkb/xkbActions.c,v 3.3 2000/04/04 19:25:23 dawes Exp $ */ ++/* $XFree86: xc/programs/Xserver/xkb/xkbActions.c,v 3.3.2.1 2001/02/09 20:45:15 paulo Exp $ */ + + #include <stdio.h> + #include <math.h> +@@ -1318,6 +1318,9 @@ + } + else CoreProcessPointerEvent(xE,dev,count); + } ++ else if (keyEvent) ++ FixKeyState(xE,dev); ++ + xkbi->prev_state= oldState; + XkbComputeDerivedState(xkbi); + keyc->prev_state= keyc->state; +Index: programs/xdm/Imakefile +=================================================================== +RCS file: /cvs/xc/programs/xdm/Imakefile,v +retrieving revision 3.38 +retrieving revision 3.38.2.1 +diff -U3 -r3.38 -r3.38.2.1 +--- programs/xdm/Imakefile 2000/11/14 23:58:32 3.38 ++++ programs/xdm/Imakefile 2001/02/10 19:06:32 3.38.2.1 +@@ -2,7 +2,7 @@ + XCOMM + XCOMM + XCOMM +-XCOMM $XFree86: xc/programs/xdm/Imakefile,v 3.38 2000/11/14 23:58:32 dawes Exp $ ++XCOMM $XFree86: xc/programs/xdm/Imakefile,v 3.38.2.1 2001/02/10 19:06:32 herrb Exp $ + #define IHaveSubdirs + #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' + +@@ -22,6 +22,10 @@ + #define LinuxShadowSuite NO + #endif + ++#if HasSnprintf ++SNPRINTF_DEFINES = -DHAS_SNPRINTF ++#endif ++ + #if HasXdmAuth + XDMAUTH_DEFINES = -DHASXDMAUTH + XDMAUTHOBJS = xdmauth.o +@@ -195,7 +199,7 @@ + OSMINORVERSION = OSMinorVersion + CONN_DEFINES = $(CONNECTION_FLAGS) + DEFINES = -DBINDIR=\"$(BINDIR)\" -DXDMDIR=\"$(XDMDIR)\" \ +- $(SIGNAL_DEFINES) $(CRYPT_DEFINES) \ ++ $(SIGNAL_DEFINES) $(CRYPT_DEFINES) $(SNPRINTF_DEFINES) \ + $(XDMAUTH_DEFINES) $(RPC_DEFINES) $(KRB5_DEFINES) \ + $(PWD_DEFINES) $(PAM_DEFINES) $(CONN_DEFINES) \ + $(GREET_DEFINES) $(FRAGILE_DEFINES) $(RANDOM_DEFINES) \ +Index: programs/xdm/xdmcp.c +=================================================================== +RCS file: /cvs/xc/programs/xdm/xdmcp.c,v +retrieving revision 3.11 +retrieving revision 3.11.2.1 +diff -U3 -r3.11 -r3.11.2.1 +--- programs/xdm/xdmcp.c 2000/11/27 00:10:06 3.11 ++++ programs/xdm/xdmcp.c 2001/02/10 19:06:32 3.11.2.1 +@@ -22,7 +22,7 @@ + from The Open Group. + + */ +-/* $XFree86: xc/programs/xdm/xdmcp.c,v 3.11 2000/11/27 00:10:06 dawes Exp $ */ ++/* $XFree86: xc/programs/xdm/xdmcp.c,v 3.11.2.1 2001/02/10 19:06:32 herrb Exp $ */ + + /* + * xdm - display manager daemon +@@ -1128,8 +1128,15 @@ + XdmcpHeader header; + ARRAY8 status; + ++#ifdef HAS_SNPRINTF ++ snprintf (buf, sizeof(buf), ++ "Session %ld failed for display %.100s: %.100s", ++ (long) sessionID, name, reason); ++#else ++ /* XXX insecure */ + sprintf (buf, "Session %ld failed for display %.100s: %.100s", + (long) sessionID, name, reason); ++#endif + Debug ("Send failed %ld %s\n", (long) sessionID, buf); + status.length = strlen (buf); + status.data = (CARD8Ptr) buf; +Index: programs/xedit/c-mode.c +=================================================================== +RCS file: /cvs/xc/programs/xedit/c-mode.c,v +retrieving revision 1.4 +retrieving revision 1.4.2.1 +diff -U3 -r1.4 -r1.4.2.1 +--- programs/xedit/c-mode.c 1999/09/27 06:30:08 1.4 ++++ programs/xedit/c-mode.c 2001/02/09 20:45:21 1.4.2.1 +@@ -27,7 +27,7 @@ + * Author: Paulo César Pereira de Andrade + */ + +-/* $XFree86: xc/programs/xedit/c-mode.c,v 1.4 1999/09/27 06:30:08 dawes Exp $ */ ++/* $XFree86: xc/programs/xedit/c-mode.c,v 1.4.2.1 2001/02/09 20:45:21 paulo Exp $ */ + + #include "xedit.h" + #include <X11/IntrinsicP.h> +@@ -383,7 +383,7 @@ + rtmp = MAX(rtmp, pright); + } + right = anchor->position + entity->offset; +- while (entity && ++count < 3) { ++ while (entity && count++ < 3) { + if (entity->property == Qerror) { + right = anchor->position + entity->offset + entity->length; + count = 0; +Index: programs/xedit/ispell.c +=================================================================== +RCS file: /cvs/xc/programs/xedit/ispell.c,v +retrieving revision 1.14 +retrieving revision 1.14.2.1 +diff -U3 -r1.14 -r1.14.2.1 +--- programs/xedit/ispell.c 2000/09/26 15:57:24 1.14 ++++ programs/xedit/ispell.c 2001/02/09 21:48:14 1.14.2.1 +@@ -27,7 +27,7 @@ + * Author: Paulo César Pereira de Andrade + */ + +-/* $XFree86: xc/programs/xedit/ispell.c,v 1.14 2000/09/26 15:57:24 tsi Exp $ */ ++/* $XFree86: xc/programs/xedit/ispell.c,v 1.14.2.1 2001/02/09 21:48:14 paulo Exp $ */ + + #include "xedit.h" + #ifndef X_NOT_STDC_ENV +@@ -339,14 +339,31 @@ + static void + IspellSetRepeated(Bool state) + { ++ static char *mispelled, *repeated; ++ Arg args[1]; ++ ++ if (mispelled == NULL) { ++ XtSetArg(args[0], XtNlabel, &mispelled); ++ XtGetValues(ispell.mispelled, args, 1); ++ mispelled = XtNewString(mispelled); ++ } ++ if (repeated == NULL) { ++ XtSetArg(args[0], XtNlabel, &repeated); ++ XtGetValues(ispell.repeated, args, 1); ++ repeated = XtNewString(repeated); ++ } + XtSetSensitive(ispell.replaceAll, !state); + XtSetSensitive(ispell.ignoreAll, !state); + XtSetSensitive(ispell.add, !state); + XtSetSensitive(ispell.addUncap, !state); +- if (state && XtIsManaged(ispell.mispelled)) +- XtChangeManagedSet(&ispell.mispelled, 1, NULL, NULL, &ispell.repeated, 1); +- else if (!state && XtIsManaged(ispell.repeated)) +- XtChangeManagedSet(&ispell.repeated, 1, NULL, NULL, &ispell.mispelled, 1); ++ if (!state) { ++ XtSetArg(args[0], XtNlabel, mispelled); ++ XtSetValues(ispell.mispelled, args, 1); ++ } ++ else { ++ XtSetArg(args[0], XtNlabel, repeated); ++ XtSetValues(ispell.mispelled, args, 1); ++ } + } + + static void +Index: programs/xkbcomp/rules/xfree86.lst +=================================================================== +RCS file: /cvs/xc/programs/xkbcomp/rules/xfree86.lst,v +retrieving revision 3.20 +retrieving revision 3.20.2.1 +diff -U3 -r3.20 -r3.20.2.1 +--- programs/xkbcomp/rules/xfree86.lst 2000/12/06 20:18:08 3.20 ++++ programs/xkbcomp/rules/xfree86.lst 2001/02/09 20:45:08 3.20.2.1 +@@ -4,7 +4,7 @@ + // Rules descriptions for XFree86 + // Copyright 1996 by Joseph Moss + // +-// $XFree86: xc/programs/xkbcomp/rules/xfree86.lst,v 3.20 2000/12/06 20:18:08 eich Exp $ ++// $XFree86: xc/programs/xkbcomp/rules/xfree86.lst,v 3.20.2.1 2001/02/09 20:45:08 paulo Exp $ + + ! model + pc101 Generic 101-key PC +@@ -38,6 +38,7 @@ + ca Canadian + cs Czechoslovakian + dk Danish ++ dvorak Dvorak + ee Estonian + fi Finnish + fr French +@@ -64,7 +65,7 @@ + es Spanish + se Swedish + th Thai +- uk Ukrainian ++ ua Ukrainian + gb United Kingdom + vn Vietnamese + nec/jp PC-98xx Series +Index: programs/xload/Imakefile +=================================================================== +RCS file: /cvs/xc/programs/xload/Imakefile,v +retrieving revision 1.5 +retrieving revision 1.5.2.1 +diff -U3 -r1.5 -r1.5.2.1 +--- programs/xload/Imakefile 2000/11/14 18:20:39 1.5 ++++ programs/xload/Imakefile 2001/01/22 19:49:35 1.5.2.1 +@@ -1,5 +1,5 @@ + XCOMM $XConsortium: Imakefile /main/30 1996/03/09 09:37:57 kaleb $ +-XCOMM $XFree86: xc/programs/xload/Imakefile,v 1.5 2000/11/14 18:20:39 dawes Exp $ ++XCOMM $XFree86: xc/programs/xload/Imakefile,v 1.5.2.1 2001/01/22 19:49:35 dawes Exp $ + DEPLIBS = XawClientDepLibs + LOCAL_LIBRARIES = XawClientLibs + +@@ -27,7 +27,7 @@ + AllTarget(ProgramTargetName(xload)) + NormalProgramTarget(xload,$(OBJS),$(DEPLIBS),$(LOCAL_LIBRARIES),NullParameter) + +-#if defined(OSF1Architecture) || defined(NetBSDArchitecture) || (defined(FreeBSDArchitecture) && OSMajorVersion > 1) || defined(OpenBSDArchitecture) ++#if !InstallXloadSetGID + InstallProgram(xload,$(BINDIR)) + #else + InstallProgramWithFlags(xload,$(BINDIR),$(INSTKMEMFLAGS)) +Index: programs/xman/Imakefile +=================================================================== +RCS file: /cvs/xc/programs/xman/Imakefile,v +retrieving revision 1.1 +retrieving revision 1.1.2.1 +diff -U3 -r1.1 -r1.1.2.1 +--- programs/xman/Imakefile 2000/02/12 03:55:14 1.1 ++++ programs/xman/Imakefile 2001/01/27 20:09:05 1.1.2.1 +@@ -1,5 +1,5 @@ + XCOMM $XConsortium: Imakefile,v 1.22 91/09/09 16:02:18 rws Exp $ +-XCOMM $XFree86: xc/programs/xman/Imakefile,v 1.1 2000/02/12 03:55:14 dawes Exp $ ++XCOMM $XFree86: xc/programs/xman/Imakefile,v 1.1.2.1 2001/01/27 20:09:05 herrb Exp $ + + #ifdef XmanSearchPath + XMANSYSPATH = XmanSearchPath +@@ -11,10 +11,13 @@ + #endif + MANPATHS = $(SYSMANPATH) $(LOCALMANPATH) + HELPFILE = -DHELPFILE=\"$(LIBDIR)$(PATHSEP)xman.help\" ++#if HasMkstemp ++MKSTEMP = -DHAS_MKSTEMP ++#endif + + OSMAJORVERSION = OSMajorVersion + OSMINORVERSION = OSMinorVersion +- DEFINES = -DOSMAJORVERSION=$(OSMAJORVERSION) -DOSMINORVERSION=$(OSMINORVERSION) $(HELPFILE) $(MANPATHS) ++ DEFINES = -DOSMAJORVERSION=$(OSMAJORVERSION) -DOSMINORVERSION=$(OSMINORVERSION) $(HELPFILE) $(MANPATHS) $(MKSTEMP) + DEPLIBS = XawClientDepLibs + LOCAL_LIBRARIES = XawClientLibs + SRCS = ScrollByL.c handler.c man.c buttons.c help.c \ +Index: programs/xman/misc.c +=================================================================== +RCS file: /cvs/xc/programs/xman/misc.c,v +retrieving revision 1.4 +retrieving revision 1.4.2.1 +diff -U3 -r1.4 -r1.4.2.1 +--- programs/xman/misc.c 2000/06/13 23:15:53 1.4 ++++ programs/xman/misc.c 2001/01/27 20:09:06 1.4.2.1 +@@ -28,7 +28,7 @@ + from the X Consortium. + + */ +-/* $XFree86: xc/programs/xman/misc.c,v 1.4 2000/06/13 23:15:53 dawes Exp $ */ ++/* $XFree86: xc/programs/xman/misc.c,v 1.4.2.1 2001/01/27 20:09:06 herrb Exp $ */ + + /* + * xman - X window system manual page display program. +@@ -45,8 +45,18 @@ + #include <X11/Shell.h> + + static FILE * Uncompress(ManpageGlobals * man_globals, char * filename); +-static Boolean UncompressNamed(ManpageGlobals * man_globals, char * filename, char * output); +-static Boolean UncompressUnformatted(ManpageGlobals * man_globals, char * entry, char * filename); ++#ifndef HAS_MKSTEMP ++static Boolean UncompressNamed(ManpageGlobals * man_globals, char * filename, ++ char * output); ++static Boolean UncompressUnformatted(ManpageGlobals * man_globals, ++ char * entry, char * filename); ++#else ++static Boolean UncompressNamed(ManpageGlobals * man_globals, char * filename, ++ char * output, FILE ** output_fd); ++static Boolean UncompressUnformatted(ManpageGlobals * man_globals, ++ char * entry, char * filename, ++ FILE **file); ++#endif + + #if defined(ISC) || defined(SCO) + static char *uncompress_format = NULL; +@@ -279,14 +289,23 @@ + char tmp_file[BUFSIZ], error_buf[BUFSIZ]; + FILE * file; + ++#ifndef HAS_MKSTEMP + if ( !UncompressNamed(man_globals, filename, tmp_file) ) + return(NULL); + + else if ((file = fopen(tmp_file, "r")) == NULL) { +- sprintf(error_buf, "Something went wrong in retrieving the %s", +- "uncompressed manual page try cleaning up /tmp."); +- PopupWarning(man_globals, error_buf); ++ sprintf(error_buf, "Something went wrong in retrieving the %s", ++ "uncompressed manual page try cleaning up /tmp."); ++ PopupWarning(man_globals, error_buf); + } ++#else ++ if (!UncompressNamed(man_globals, filename, tmp_file, &file)) { ++ sprintf(error_buf, "Something went wrong in retrieving the %s", ++ "uncompressed manual page try cleaning up /tmp."); ++ PopupWarning(man_globals, error_buf); ++ return(NULL); ++ } ++#endif + + unlink(tmp_file); /* remove name in tree, it will remain + until we close the fd, however. */ +@@ -302,11 +321,20 @@ + * Returns:; TRUE if the file was found. + */ + ++#ifndef HAS_MKSTEMP + static Boolean + UncompressNamed(ManpageGlobals * man_globals, char * filename, char * output) ++#else ++static Boolean ++UncompressNamed(ManpageGlobals * man_globals, char * filename, char * output, ++ FILE ** output_fd) ++#endif + { + char tmp[BUFSIZ], cmdbuf[BUFSIZ], error_buf[BUFSIZ]; + struct stat junk; ++#ifdef HAS_MKSTEMP ++ int fd; ++#endif + + if (stat(filename, &junk) != 0) { /* Check for existance of the file. */ + if (errno != ENOENT) { +@@ -323,7 +351,16 @@ + */ + + strcpy(tmp, MANTEMP); /* get a temp file. */ ++#ifndef HAS_MKSTEMP + (void) mktemp(tmp); ++#else ++ fd = mkstemp(tmp); ++ if (fd < 0) { ++ PopupWarning(man_globals, "Error creating a temp file"); ++ return FALSE; ++ } ++ *output_fd = fdopen(fd, "r"); ++#endif + strcpy(output, tmp); + + #ifdef GZIP_EXTENSION +@@ -357,6 +394,9 @@ + Format(ManpageGlobals * man_globals, char * entry) + { + FILE * file; ++#ifdef HAS_MKSTEMP ++ int fd; ++#endif + Widget manpage = man_globals->manpagewidgets.manpage; + char cmdbuf[BUFSIZ], tmp[BUFSIZ], filename[BUFSIZ], error_buf[BUFSIZ]; + char path[BUFSIZ]; +@@ -364,7 +404,11 @@ + Position x,y; /* location to pop up the + "would you like to save" widget. */ + ++#ifndef HAS_MKSTEMP + if ( !UncompressUnformatted(man_globals, entry, filename) ) { ++#else ++ if ( !UncompressUnformatted(man_globals, entry, filename, &file) ) { ++#endif + /* We Really could not find it, this should never happen, yea right. */ + sprintf(error_buf, "Could not open manual page, %s", entry); + PopupWarning(man_globals, error_buf); +@@ -372,7 +416,11 @@ + return(NULL); + } + ++#ifndef HAS_MKSTEMP + if ((file = fopen(filename, "r")) != NULL) { ++#else ++ if (file != NULL) { ++#endif + char line[BUFSIZ]; + + if (fgets(line, sizeof(line), file) != NULL) { +@@ -408,13 +456,23 @@ + XFlush(XtDisplay(man_globals->standby)); + + strcpy(tmp,MANTEMP); /* Get a temp file. */ ++#ifndef HAS_MKSTEMP + (void) mktemp(tmp); ++#else ++ fd = mkstemp(tmp); ++ file = fdopen(fd, "r"); ++#endif + strcpy(man_globals->tempfile, tmp); + + ParseEntry(entry, path, NULL, NULL); + ++#ifndef HAS_MKSTEMP + sprintf(cmdbuf,"cd %s ; %s %s %s > %s %s", path, TBL, + filename, FORMAT, man_globals->tempfile, "2> /dev/null"); ++#else ++ sprintf(cmdbuf,"cd %s ; %s %s %s >> %s %s", path, TBL, ++ filename, FORMAT, man_globals->tempfile, "2> /dev/null"); ++#endif + + if(system(cmdbuf) != 0) { /* execute search. */ + sprintf(error_buf, +@@ -423,12 +481,14 @@ + file = NULL; + } + else { ++#ifndef HAS_MKSTEMP + if ((file = fopen(man_globals->tempfile,"r")) == NULL) { + sprintf(error_buf, "Something went wrong in retrieving the %s", + "temp file, try cleaning up /tmp"); + PopupWarning(man_globals, error_buf); + } + else { ++#endif + + XtPopdown( XtParent(man_globals->standby) ); + +@@ -460,7 +520,9 @@ + else + unlink(man_globals->tempfile); + } ++#ifndef HAS_MKSTEMP + } ++#endif + } + + if (man_globals->compress || man_globals->gzip) /* If the original +@@ -481,7 +543,13 @@ + */ + + static Boolean +-UncompressUnformatted(ManpageGlobals * man_globals, char * entry, char * filename) ++#ifndef HAS_MKSTEMP ++UncompressUnformatted(ManpageGlobals * man_globals, char * entry, ++ char * filename) ++#else ++UncompressUnformatted(ManpageGlobals * man_globals, char * entry, ++ char * filename, FILE **file) ++#endif + { + char path[BUFSIZ], page[BUFSIZ], section[BUFSIZ], input[BUFSIZ]; + int len_cat = strlen(CAT), len_man = strlen(MAN); +@@ -505,7 +573,11 @@ + * Then for compressed files in an uncompressed directory. + */ + sprintf(input, "%s.%s", filename, COMPRESSION_EXTENSION); ++#ifndef HAS_MKSTEMP + if ( UncompressNamed(man_globals, input, filename) ) { ++#else ++ if ( UncompressNamed(man_globals, input, filename, file) ) { ++#endif + man_globals->compress = TRUE; + sprintf(man_globals->save_file, "%s/%s%s/%s.%s", path, + CAT, section + len_cat, page, COMPRESSION_EXTENSION); +@@ -514,7 +586,11 @@ + #ifdef GZIP_EXTENSION + else { + sprintf(input, "%s.%s", filename, GZIP_EXTENSION); ++#ifndef HAS_MKSTEMP + if ( UncompressNamed(man_globals, input, filename) ) { ++#else ++ if ( UncompressNamed(man_globals, input, filename, file) ) { ++#endif + man_globals->compress = TRUE; + man_globals->gzip = TRUE; + sprintf(man_globals->save_file, "%s/%s%s/%s.%s", path, +@@ -542,7 +618,11 @@ + */ + + sprintf(input, "%s.%s", filename, COMPRESSION_EXTENSION); ++#ifndef HAS_MKSTEMP + if ( UncompressNamed(man_globals, input, filename) ) { ++#else ++ if ( UncompressNamed(man_globals, input, filename, file) ) { ++#endif + man_globals->compress = TRUE; + sprintf(man_globals->save_file, "%s/%s%s/%s.%s", path, + CAT, section + len_cat, page, COMPRESSION_EXTENSION); +@@ -551,7 +631,11 @@ + #ifdef GZIP_EXTENSION + else { + sprintf(input, "%s.%s", filename, GZIP_EXTENSION); ++#ifndef HAS_MKSTEMP + if ( UncompressNamed(man_globals, input, filename) ) { ++#else ++ if ( UncompressNamed(man_globals, input, filename, file) ) { ++#endif + man_globals->compress = TRUE; + man_globals->gzip = TRUE; + sprintf(man_globals->save_file, "%s/%s%s/%s.%s", path, +@@ -566,7 +650,11 @@ + + sprintf(input, "%s/%s%s.%s/%s", path, + MAN, section + len_man, COMPRESSION_EXTENSION, page); ++#ifndef HAS_MKSTEMP + if ( UncompressNamed(man_globals, input, filename) ) { ++#else ++ if ( UncompressNamed(man_globals, input, filename, file) ) { ++#endif + man_globals->compress = TRUE; + sprintf(man_globals->save_file, "%s/%s%s.%s/%s", path, + CAT, section + len_cat, COMPRESSION_EXTENSION, page); +Index: programs/xman/search.c +=================================================================== +RCS file: /cvs/xc/programs/xman/search.c,v +retrieving revision 1.4 +retrieving revision 1.4.2.1 +diff -U3 -r1.4 -r1.4.2.1 +--- programs/xman/search.c 2000/06/13 23:15:53 1.4 ++++ programs/xman/search.c 2001/01/27 20:09:06 1.4.2.1 +@@ -28,7 +28,7 @@ + from the X Consortium. + + */ +-/* $XFree86: xc/programs/xman/search.c,v 1.4 2000/06/13 23:15:53 dawes Exp $ */ ++/* $XFree86: xc/programs/xman/search.c,v 1.4.2.1 2001/01/27 20:09:06 herrb Exp $ */ + + + #include "globals.h" +@@ -149,11 +149,14 @@ + FILE * + DoSearch(ManpageGlobals * man_globals, int type) + { +- char cmdbuf[BUFSIZ],*mantmp; ++ char cmdbuf[BUFSIZ],*mantmp, *manpath; + char tmp[BUFSIZ],path[BUFSIZ]; + char string_buf[BUFSIZ], cmp_str[BUFSIZ], error_buf[BUFSIZ]; + char * search_string = SearchString(man_globals); + FILE * file; ++#ifdef HAS_MKSTEMP ++ int fd; ++#endif + int count; + Boolean flag; + +@@ -171,13 +174,37 @@ + return(NULL); + } + +- strcpy(tmp, MANTEMP); /* get a temp file. */ +- (void) mktemp(tmp); +- mantmp = tmp; +- + if (type == APROPOS) { + char label[BUFSIZ]; + ++ strcpy(tmp, MANTEMP); /* get a temp file. */ ++#ifdef HAS_MKSTEMP ++ fd = mkstemp(tmp); ++ if (fd < 0) { ++ PopupWarning(man_globals, "Cant create temp file"); ++ return NULL; ++ } ++#else ++ (void)mktemp(tmp); ++#endif ++ mantmp = tmp; ++ ++ manpath=getenv("MANPATH"); ++ if (manpath == NULL || streq(manpath,"") ) { ++#ifdef MANCONF ++ if (!ReadManConfig(path)) ++#endif ++ { ++ strcpy(path,SYSMANPATH); ++#ifdef LOCALMANPATH ++ strcat(path,":"); ++ strcat(path,LOCALMANPATH); ++#endif ++ } ++ } else { ++ strcpy(path,manpath); ++ } ++ + sprintf(label,"Results of apropos search on: %s", search_string); + + #ifdef NO_MANPATH_SUPPORT /* not quite correct, but the best I can do. */ +@@ -191,7 +218,11 @@ + PopupWarning(man_globals, error_buf); + } + ++#ifdef HAS_MKSTEMP ++ if ((file = fdopen(fd, "r")) == NULL) ++#else + if((file = fopen(mantmp,"r")) == NULL) ++#endif + PrintError("lost temp file? out of temp space?"); + + /* +Index: programs/xman/vendor.h +=================================================================== +RCS file: /cvs/xc/programs/xman/vendor.h,v +retrieving revision 1.5 +retrieving revision 1.5.2.1 +diff -U3 -r1.5 -r1.5.2.1 +--- programs/xman/vendor.h 2000/08/01 18:53:07 1.5 ++++ programs/xman/vendor.h 2001/01/27 20:09:07 1.5.2.1 +@@ -28,7 +28,7 @@ + from the X Consortium. + + */ +-/* $XFree86: xc/programs/xman/vendor.h,v 1.5 2000/08/01 18:53:07 dawes Exp $ */ ++/* $XFree86: xc/programs/xman/vendor.h,v 1.5.2.1 2001/01/27 20:09:07 herrb Exp $ */ + + /* Vendor-specific definitions */ + +@@ -135,10 +135,18 @@ + # define NO_COMPRESS + # else + # define COMPRESSION_EXTENSION "Z" +-# define UNCOMPRESS_FORMAT "zcat < %s > %s" ++# ifndef HAS_MKSTEMP ++# define UNCOMPRESS_FORMAT "zcat < %s > %s" ++# else ++# define UNCOMPRESS_FORMAT "zcat < %s >> %s" ++# endif + # define COMPRESS "compress" + # define GZIP_EXTENSION "gz" +-# define GUNZIP_FORMAT "gzip -c -d < %s > %s" ++# ifndef HAS_MKSTEMP ++# define GUNZIP_FORMAT "gzip -c -d < %s > %s" ++# else ++# define GUNZIP_FORMAT "gzip -c -d < %s >> %s" ++# endif + # define GZIP_COMPRESS "gzip" + # endif /* ISC */ + # endif /* UTEK */ +@@ -154,10 +162,19 @@ + # define NO_MANPATH_SUPPORT + #endif + +-#ifdef NO_MANPATH_SUPPORT +-# define APROPOS_FORMAT ("man -k %s | pr -h Apropos >> %s") ++#ifndef HAS_MKSTEMP ++# ifdef NO_MANPATH_SUPPORT ++# define APROPOS_FORMAT ("man -k %s | pr -h Apropos > %s") ++# else ++# define APROPOS_FORMAT ("man -M %s -k %s | pr -h Apropos > %s") ++# endif + #else +-# define APROPOS_FORMAT ("man -M %s -k %s | pr -h Apropos > %s") ++/* with mkstemp the temp output file is already created */ ++# ifdef NO_MANPATH_SUPPORT ++# define APROPOS_FORMAT ("man -k %s | pr -h Apropos >> %s") ++# else ++# define APROPOS_FORMAT ("man -M %s -k %s | pr -h Apropos >> %s") ++# endif + #endif + + #ifdef ultrix diff --git a/x11-base/xfree/xfree-4.0.2-r3.ebuild b/x11-base/xfree/xfree-4.0.2-r3.ebuild new file mode 100644 index 000000000000..c2203aeab2b5 --- /dev/null +++ b/x11-base/xfree/xfree-4.0.2-r3.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2000 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# Author Achim Gottinger <achim@gentoo.org> +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/xfree-4.0.2-r3.ebuild,v 1.1 2001/03/09 10:26:59 achim Exp $ + +A="X402src-1.tgz X402src-2.tgz X402src-3.tgz truetype.tar.gz gatos.tar.gz" +S=${WORKDIR}/xc +DESCRIPTION="Xfree - 4.0.2 with Antialias support and ATI TV and Overlay support from the LiVID project" +SRC_PATH0="ftp://ftp.xfree.org/pub/XFree86/4.0.2/source" +SRC_PATH1="ftp://download.sourceforge.net/pub/mirrors/XFree86/4.0.2/source" +SRC_URI="$SRC_PATH0/X402src-1.tgz $SRC_PATH0/X402src-2.tgz $SRC_PATH0/X402src-3.tgz + $SRC_PATH1/X402src-1.tgz $SRC_PATH1/X402src-2.tgz $SRC_PATH1/X402src-3.tgz + http://keithp.com/~keithp/fonts/truetype.tar.gz + http://www.linuxvideo.org/devel/data/gatos.tar.gz" + +HOMEPAGE="http://www.xfree.org + http://www.linuxvideo.org/gatos/" + +DEPEND=">=media-libs/freetype-2.0.1 + >=sys-libs/ncurses-5.1 + >=sys-libs/zlib-1.1.3-r2 + >=sys-devel/flex-2.5.4a-r2 + sys-devel/perl" + + +src_unpack () { + + unpack ${A} + cd ${S} + patch -p0 < ${FILESDIR}/${PV}/${PF}.diff + patch -p1 < ${FILESDIR}/${PV}/glibc-2.2.2-ClockP.diff + cp ${FILESDIR}/${PV}/site.def config/cf/host.def + echo "#define DefaultGcc2i386Opt ${CFLAGS}" >> config/cf/host.def + ( cd ${S}/programs/Xserver/hw/xfree86/loader; patch -p0 < ${WORKDIR}/gatos-ati/ati_xv/loader.patch ) + ( cd ${S}/programs/Xserver/hw/xfree86/i2c; patch -p1 < ${WORKDIR}/gatos-ati/ati_xv/i2c.patch ) + +} + +src_compile() { + + try make World + cd ${WORKDIR}/gatos-ati/ati_xv/ati.2 + export PATH=${S}/config/imake/bootstrap:$PATH + try ${S}/config/util/xmkmf ${S} + try make +} + +src_install() { + + try make install DESTDIR=${D} + try make install.man DESTDIR=${D} + # MANPATH=/usr/X11R6/share/man + + cd ${WORKDIR}/gatos-ati/ati_xv/ati.2 + + try make install DESTDIR=${D} + + insinto /usr/X11R6/lib/X11 + doins ${FILESDIR}/${PV}/XftConfig + cd ${D}/usr/X11R6/lib/X11/fonts + tar xzf ${DISTDIR}/truetype.tar.gz + preplib /usr/X11R6 + insinto /etc/env.d + doins ${FILESDIR}/10xfree + insinto /etc/X11/xinit + doins ${FILESDIR}/xinitrc + insinto /etc/X11/xdm + doins ${FILESDIR}/Xsession + +} + + + + |