]> git.pld-linux.org Git - packages/XFree86.git/commitdiff
- fixes from 4.2.0 branch
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Fri, 24 May 2002 21:05:46 +0000 (21:05 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    XFree86-4.2.0-branch-20020524.patch -> 1.1

XFree86-4.2.0-branch-20020524.patch [new file with mode: 0644]

diff --git a/XFree86-4.2.0-branch-20020524.patch b/XFree86-4.2.0-branch-20020524.patch
new file mode 100644 (file)
index 0000000..3ab46bf
--- /dev/null
@@ -0,0 +1,1269 @@
+? XFree86-4.2.0-branch-20020524.patch
+Index: config/cf/cygwin.cf
+===================================================================
+RCS file: /cvs/xc/config/cf/cygwin.cf,v
+retrieving revision 3.34
+retrieving revision 3.34.2.2
+diff -u -r3.34 -r3.34.2.2
+--- config/cf/cygwin.cf        2001/12/10 16:22:37     3.34
++++ config/cf/cygwin.cf        2002/02/19 08:43:33     3.34.2.2
+@@ -1,4 +1,4 @@
+-XCOMM platform:  $XFree86: xc/config/cf/cygwin.cf,v 3.34 2001/12/10 16:22:37 alanh Exp $
++XCOMM platform:  $XFree86: xc/config/cf/cygwin.cf,v 3.34.2.2 2002/02/19 08:43:33 alanh Exp $
+ #ifndef OSName
+ #define OSName                  Cygwin
+@@ -138,7 +138,7 @@
+ #  define OptimizedCDebugFlags        DefaultGcc2i386Opt
+ # endif
+-#define StandardDefines         -D__i386__ -DWIN32_LEAN_AND_MEAN -DX_LOCALE -D_X86_ -D__STDC__ -DNO_TCP_H -D__CYGWIN__ -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE
++#define StandardDefines         -D__i386__ -DWIN32_LEAN_AND_MEAN -DX_LOCALE -D_X86_ -D__STDC__ -DNO_TCP_H -D__CYGWIN__ -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DNO_ALLOCA
+ #define XawI18nDefines          -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+ #define HasWChar32              YES
+@@ -308,10 +308,19 @@
+ #endif
+ /* Server build rules */
++#ifndef XnestServer
+ #define XnestServer                   YES
++#endif
++#ifndef BuildXprint
+ #define BuildXprint                   YES
++#endif
++#ifndef XprtServer
+ #define XprtServer                    YES
++#endif
++#ifndef XVirtualFramebufferServer
+ #define XVirtualFramebufferServer     YES
++#endif
++
+ #define XWinServer                    YES
+ /*
+Index: config/cf/darwin.cf
+===================================================================
+RCS file: /cvs/xc/config/cf/darwin.cf,v
+retrieving revision 1.21
+retrieving revision 1.21.2.1
+diff -u -r1.21 -r1.21.2.1
+--- config/cf/darwin.cf        2002/01/15 21:22:31     1.21
++++ config/cf/darwin.cf        2002/05/03 00:36:17     1.21.2.1
+@@ -1,4 +1,4 @@
+-XCOMM platform:  $XFree86: xc/config/cf/darwin.cf,v 1.21 2002/01/15 21:22:31 keithp Exp $
++XCOMM platform:  $XFree86: xc/config/cf/darwin.cf,v 1.21.2.1 2002/05/03 00:36:17 torrey Exp $
+ /* Darwin / Mac OS X configuration by John Carmack <johnc@idsoftware.com> */
+@@ -61,8 +61,7 @@
+ /* we don't need -lm */
+ #define MathLibrary             /**/
+-/* we don't have a termcap library */
+-#define TermcapLibrary          /**/
++#define TermcapLibrary          -lcurses
+ /* we don't have a dbm library */
+ #define DBMLibrary              /**/
+Index: extras/ogl-sample/main/gfx/lib/glu/libnurbs/nurbtess/quicksort.cc
+===================================================================
+RCS file: /cvs/xc/extras/ogl-sample/main/gfx/lib/glu/libnurbs/nurbtess/quicksort.cc,v
+retrieving revision 1.1.1.1
+retrieving revision 1.1.1.1.6.1
+diff -u -r1.1.1.1 -r1.1.1.1.6.1
+--- extras/ogl-sample/main/gfx/lib/glu/libnurbs/nurbtess/quicksort.cc  2001/01/15 21:48:59     1.1.1.1
++++ extras/ogl-sample/main/gfx/lib/glu/libnurbs/nurbtess/quicksort.cc  2002/01/23 19:16:59     1.1.1.1.6.1
+@@ -31,12 +31,15 @@
+ ** published by SGI, but has not been independently verified as being
+ ** compliant with the OpenGL(R) version 1.2.1 Specification.
+ **
+-** $Date$ $Revision$
++** Date Revision
+ */
+ /*
+-** $Header$
++** Header: //depot/main/gfx/lib/glu/libnurbs/nurbtess/quicksort.cc#3 
+ */
++
++/* $XFree86: xc/extras/ogl-sample/main/gfx/lib/glu/libnurbs/nurbtess/quicksort.cc,v 1.1.1.1.6.1 2002/01/23 19:16:59 dawes Exp $ */
++
+ #include <stdlib.h>
+ #include <stdio.h>
+@@ -58,7 +61,6 @@
+              int (*comp) (void *, void *))
+ {
+   int i, last;
+-  void swap(void *v[], int , int);
+   if(left >= right) /*do nothing if array contains */
+     return;         /*fewer than two elements*/
+   
+@@ -72,7 +74,7 @@
+   quicksort(v, last+1, right, comp);
+ }
+-void swap(void *v[], int i, int j)
++static void swap(void *v[], int i, int j)
+ {
+   void *temp;
+   temp = v[i];
+Index: lib/GL/mesa/src/drv/r128/r128_xmesa.c
+===================================================================
+RCS file: /cvs/xc/lib/GL/mesa/src/drv/r128/Attic/r128_xmesa.c,v
+retrieving revision 1.12
+retrieving revision 1.12.4.1
+diff -u -r1.12 -r1.12.4.1
+--- lib/GL/mesa/src/drv/r128/r128_xmesa.c      2001/11/26 21:46:35     1.12
++++ lib/GL/mesa/src/drv/r128/r128_xmesa.c      2002/01/27 19:18:39     1.12.4.1
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c,v 1.12 2001/11/26 21:46:35 dawes Exp $ */
++/* $XFree86: xc/lib/GL/mesa/src/drv/r128/r128_xmesa.c,v 1.12.4.1 2002/01/27 19:18:39 dawes Exp $ */
+ /**************************************************************************
+ Copyright 1999, 2000 ATI Technologies Inc. and Precision Insight, Inc.,
+@@ -83,7 +83,7 @@
+    if ( sPriv->drmMajor != 2 ||
+       sPriv->drmMinor < 2 ) {
+       char msg[1000];
+-      sprintf( msg, "R128 DRI driver expected DRM driver version 3.0 or greater but got version %d.%d.%d", sPriv->drmMajor, sPriv->drmMinor, sPriv->drmPatch );
++      sprintf( msg, "R128 DRI driver expected DRM driver version 2.2 or greater but got version %d.%d.%d", sPriv->drmMajor, sPriv->drmMinor, sPriv->drmPatch );
+       __driMesaMessage( msg );
+       return GL_FALSE;
+    }
+Index: lib/X11/XlcDL.c
+===================================================================
+RCS file: /cvs/xc/lib/X11/XlcDL.c,v
+retrieving revision 1.3
+retrieving revision 1.3.4.1
+diff -u -r1.3 -r1.3.4.1
+--- lib/X11/XlcDL.c    2001/11/19 15:33:38     1.3
++++ lib/X11/XlcDL.c    2002/01/23 19:17:00     1.3.4.1
+@@ -41,7 +41,7 @@
+ Sun Microsystems, Inc. or its licensors is granted.
+ */
+-/* $XFree86: xc/lib/X11/XlcDL.c,v 1.3 2001/11/19 15:33:38 tsi Exp $ */
++/* $XFree86: xc/lib/X11/XlcDL.c,v 1.3.4.1 2002/01/23 19:17:00 dawes Exp $ */
+ #include <stdio.h>
+ #if defined(hpux)
+@@ -125,28 +125,37 @@
+ }
+ static char *
+-strdup_and_prefix(char *symbol)
++strdup_with_underscore(const char *symbol)
+ {
+-      size_t n;
+       char *result;
+-      n = strlen(symbol) + 1;
+-#ifndef __ELF__
+-      n++;                    /* add space for _ */
+-#endif
+-      if ((result = malloc(n)) == NULL) 
++      if ((result = malloc(strlen(symbol) + 2)) == NULL) 
+               return NULL;
+-#ifndef __ELF__
+       result[0] = '_';
+-#endif
+-      memcpy(result
+-#ifndef __ELF__
+-              +1
+-#endif
+-              , symbol, n);
++      strcpy(result + 1, symbol);
+       return result;
+ }
++#ifndef hpux
++static void *
++try_both_dlsym (void *handle, char *name)
++{
++    void    *ret;
++
++    ret = dlsym (handle, name);
++    if (!ret)
++    {
++       name = strdup_with_underscore (name);
++       if (name)
++       {
++           ret = dlsym (handle, name);
++           free (name);
++       }
++    }
++    return ret;
++}
++#endif
++
+ static void
+ resolve_object(path, lc_name)
+ char *path;
+@@ -202,13 +211,13 @@
+           xi18n_objects_list[lc_count].type = XIM_OBJECT;
+         }
+         xi18n_objects_list[lc_count].dl_name = strdup(args[1]);
+-        xi18n_objects_list[lc_count].open = strdup_and_prefix(args[2]);
++        xi18n_objects_list[lc_count].open = strdup(args[2]);
+         xi18n_objects_list[lc_count].dl_release = XI18N_DLREL;
+         xi18n_objects_list[lc_count].locale_name = strdup(lc_name);
+         xi18n_objects_list[lc_count].dl_module = (void*)NULL;
+         if (n == 5) {
+-          xi18n_objects_list[lc_count].im_register = strdup_and_prefix(args[3]);
+-          xi18n_objects_list[lc_count].im_unregister = strdup_and_prefix(args[4]);
++          xi18n_objects_list[lc_count].im_register = strdup(args[3]);
++          xi18n_objects_list[lc_count].im_unregister = strdup(args[4]);
+         } else {
+           xi18n_objects_list[lc_count].im_register = NULL;
+           xi18n_objects_list[lc_count].im_unregister = NULL;
+@@ -331,8 +340,8 @@
+           free(symbols);
+       }
+ #else
+-      lc_loader = (XLCd(*)())dlsym(objects_list->dl_module,
+-                                   objects_list->open);
++      lc_loader = (XLCd(*)())try_both_dlsym(objects_list->dl_module,
++                                            objects_list->open);
+ #endif
+       if (!lc_loader) continue;
+       lcd = (*lc_loader)(lc_name);
+@@ -406,8 +415,8 @@
+       free(symbols);
+     }
+ #else
+-    im_openIM = (XIM(*)())dlsym(objects_list->dl_module,
+-                              objects_list->open);
++    im_openIM = (XIM(*)())try_both_dlsym(objects_list->dl_module,
++                                       objects_list->open);
+     if (!im_openIM) continue;
+ #endif
+     im = (*im_openIM)(lcd, display, rdb, res_name, res_class);
+@@ -481,8 +490,8 @@
+       free(symbols);
+     }
+ #else
+-    im_registerIM = (Bool(*)())dlsym(objects_list->dl_module,
+-                                   objects_list->im_register);
++    im_registerIM = (Bool(*)())try_both_dlsym(objects_list->dl_module,
++                                            objects_list->im_register);
+     if (!im_registerIM) continue;
+ #endif
+     ret_flag = (*im_registerIM)(lcd, display, rdb,
+@@ -556,8 +565,8 @@
+       free(symbols);
+     }
+ #else
+-    im_unregisterIM = (Bool(*)())dlsym(objects_list->dl_module,
+-                                     objects_list->im_unregister);
++    im_unregisterIM = (Bool(*)())try_both_dlsym(objects_list->dl_module,
++                                              objects_list->im_unregister);
+     if (!im_unregisterIM) continue;
+ #endif
+@@ -651,8 +660,8 @@
+       free(symbols);
+     }
+ #else
+-    om_openOM = (XOM(*)())dlsym(objects_list->dl_module,
+-                              objects_list->open);
++    om_openOM = (XOM(*)())try_both_dlsym(objects_list->dl_module,
++                                       objects_list->open);
+     if (!om_openOM) continue;
+ #endif
+     om = (*om_openOM)(lcd, display, rdb, res_name, res_class);
+Index: lib/zlib/infblock.c
+===================================================================
+RCS file: /cvs/xc/lib/zlib/infblock.c,v
+retrieving revision 1.4
+retrieving revision 1.4.6.2
+diff -u -r1.4 -r1.4.6.2
+--- lib/zlib/infblock.c        2001/01/17 19:43:53     1.4
++++ lib/zlib/infblock.c        2002/02/14 16:22:45     1.4.6.2
+@@ -249,10 +249,11 @@
+                              &s->sub.trees.tb, z);
+       if (t != Z_OK)
+       {
+-        ZFREE(z, s->sub.trees.blens);
+         r = t;
+-        if (r == Z_DATA_ERROR)
++        if (r == Z_DATA_ERROR) {
++          ZFREE(z, s->sub.trees.blens);
+           s->mode = BAD;
++        }
+         LEAVE
+       }
+       s->sub.trees.index = 0;
+@@ -317,14 +318,16 @@
+ #endif
+         t = inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f),
+                                   s->sub.trees.blens, &bl, &bd, &tl, &td, z);
+-        ZFREE(z, s->sub.trees.blens);
+         if (t != Z_OK)
+         {
+-          if (t == (uInt)Z_DATA_ERROR)
++          if (t == (uInt)Z_DATA_ERROR) {
++            ZFREE(z, s->sub.trees.blens);
+             s->mode = BAD;
++          }
+           r = t;
+           LEAVE
+         }
++        ZFREE(z, s->sub.trees.blens);
+         Tracev((stderr, "inflate:       trees ok, %d * %d bytes used\n",
+               inflate_hufts, sizeof(inflate_huft)));
+         if ((c = inflate_codes_new(bl, bd, tl, td, z)) == Z_NULL)
+Index: programs/Xserver/Xext/shm.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/Xext/shm.c,v
+retrieving revision 3.33
+retrieving revision 3.33.2.1
+diff -u -r3.33 -r3.33.2.1
+--- programs/Xserver/Xext/shm.c        2001/12/14 19:58:51     3.33
++++ programs/Xserver/Xext/shm.c        2002/02/24 20:43:27     3.33.2.1
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/Xext/shm.c,v 3.33 2001/12/14 19:58:51 dawes Exp $ */
++/* $XFree86: xc/programs/Xserver/Xext/shm.c,v 3.33.2.1 2002/02/24 20:43:27 herrb Exp $ */
+ /************************************************************
+ Copyright 1989, 1998  The Open Group
+@@ -64,6 +64,12 @@
+ #include "panoramiXsrv.h"
+ #endif
++#if defined(SVR4) || defined(__linux__) || defined(CSRG_BASED)
++#define HAS_SAVED_IDS_AND_SETEUID
++#else
++#include <sys/stat.h>
++#endif
++
+ typedef struct _ShmDesc {
+     struct _ShmDesc *next;
+     int shmid;
+@@ -355,6 +361,45 @@
+     return (client->noClientException);
+ }
++#ifndef HAS_SAVED_IDS_AND_SETEUID
++/*
++ * Simulate the access() system call for a shared memory segement,
++ * using the real user and group id of the process
++ * /
++static int
++shm_access(uid_t uid, gid_t gid, struct ipc_perm *perm, int readonly)
++{
++    mode_t mask;
++
++    /* User id 0 always gets access */
++    if (uid == 0) {
++      return 0;
++    }
++    /* Check the owner */
++    if (perm->uid == uid || perm->cuid == uid) {
++      mask = S_IRUSR;
++      if (!readonly) {
++          mask |= S_IWUSR;
++      }
++      return (perm->mode & mask) == mask ? 0 : -1;
++    }
++    /* Check the group */
++    if (perm->gid == gid || perm->cgid == gid) {
++      mask = S_IRGRP;
++      if (!readonly) {
++          mask |= S_IWGRP;
++      }
++      return (perm->mode & mask) == mask ? 0 : -1;
++    }
++    /* Otherwise, check everyone else */
++    mask = S_IROTH;
++    if (!readonly) {
++      mask |= S_IWOTH;
++    }
++    return (perm->mode & mask) == mask ? 0 : -1;
++}
++#endif
++
+ static int
+ ProcShmAttach(client)
+     register ClientPtr client;
+@@ -362,6 +407,12 @@
+     struct shmid_ds buf;
+     ShmDescPtr shmdesc;
+     REQUEST(xShmAttachReq);
++    uid_t ruid;
++    gid_t rgid;
++#ifdef HAS_SAVED_IDS_AND_SETEUID
++    uid_t euid;
++    gid_t egid;
++#endif
+     REQUEST_SIZE_MATCH(xShmAttachReq);
+     LEGAL_NEW_RESOURCE(stuff->shmseg, client);
+@@ -385,14 +436,44 @@
+       shmdesc = (ShmDescPtr) xalloc(sizeof(ShmDescRec));
+       if (!shmdesc)
+           return BadAlloc;
++      ruid = getuid();
++      rgid = getgid();
++#ifdef HAS_SAVED_IDS_AND_SETEUID
++      euid = geteuid();
++      egid = getegid();
++
++      if (euid != ruid || egid != rgid) {
++          /* Temporarly switch back to real ids */
++          if (seteuid(ruid) == -1 || setegid(rgid) == -1) {
++              return BadAccess;
++          }
++      }
++#endif
+       shmdesc->addr = shmat(stuff->shmid, 0,
+                             stuff->readOnly ? SHM_RDONLY : 0);
++#ifdef HAS_SAVED_IDS_AND_SETEUID
++      if (euid != ruid || egid != rgid) {
++          /* Switch back to root privs */
++          if (seteuid(euid) == -1 || setegid(egid) == -1) {
++              return BadAccess;
++          }
++      } 
++#endif
+       if ((shmdesc->addr == ((char *)-1)) ||
+           shmctl(stuff->shmid, IPC_STAT, &buf))
+       {
+           xfree(shmdesc);
+           return BadAccess;
+       }
++#ifndef HAS_SAVED_IDS_AND_SETEUID
++      /* The attach was performed with root privs. We must
++       * do manual checking of access rights for the real uid/gid */
++      if (shm_access(ruid, rgid, &(buf.shm_perm), stuff->readOnly) == -1) {
++          shmdt(shmdesc->addr);
++          xfree(shmdesc);
++          return BadAccess;
++      }
++#endif        
+       shmdesc->shmid = stuff->shmid;
+       shmdesc->refcnt = 1;
+       shmdesc->writable = !stuff->readOnly;
+Index: programs/Xserver/hw/darwin/darwinKeyboard.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/darwin/darwinKeyboard.c,v
+retrieving revision 1.14
+retrieving revision 1.14.2.1
+diff -u -r1.14 -r1.14.2.1
+--- programs/Xserver/hw/darwin/darwinKeyboard.c        2001/12/05 06:27:43     1.14
++++ programs/Xserver/hw/darwin/darwinKeyboard.c        2002/02/07 02:53:11     1.14.2.1
+@@ -36,7 +36,7 @@
+ //
+ //=============================================================================
+-/* $XFree86: xc/programs/Xserver/hw/darwin/darwinKeyboard.c,v 1.14 2001/12/05 06:27:43 torrey Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/darwin/darwinKeyboard.c,v 1.14.2.1 2002/02/07 02:53:11 torrey Exp $ */
+ /*
+ ===========================================================================
+@@ -416,9 +416,9 @@
+                 km.charP = inBuffer;
+                 km.intP++;
+                 while (km.intP+3 < bufferEnd) {
+-                    map_interface = *(km.intP++);
+-                    map_handler_id = *(km.intP++);
+-                    map_size = *(km.intP++);
++                    map_interface = NXSwapBigIntToHost(*(km.intP++));
++                    map_handler_id = NXSwapBigIntToHost(*(km.intP++));
++                    map_size = NXSwapBigIntToHost(*(km.intP++));
+                     if (map_interface == interface) {
+                         if (map_handler_id == handler_id || hasInterface) {
+                             hasMatch = TRUE;
+Index: programs/Xserver/hw/xfree86/CHANGELOG
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/CHANGELOG,v
+retrieving revision 3.2144
+retrieving revision 3.2144.2.13
+diff -u -r3.2144 -r3.2144.2.13
+--- programs/Xserver/hw/xfree86/CHANGELOG      2002/01/18 20:09:22     3.2144
++++ programs/Xserver/hw/xfree86/CHANGELOG      2002/05/03 00:36:17     3.2144.2.13
+@@ -1,3 +1,27 @@
++XFree86 4.2.0.1 (xx February 2002)
++ 704. Build with libcurses on Darwin for forward compatibility
++      (Jordan Hubbard).
++ 703. MIT-SHM updates (Roberto Zunino, Matthieu Herrb).
++ 702. Fix a problem related to reserving the overlay key in the default
++      colormap in 24+8 mode.  This caused some clients using the 8-bit
++      visuals to fail (David Dawes).
++ 701. [SECURITY] Zlib error handling fix (Mark Adler).
++ 700. Put back XDarwin's byte-ordering fix for reading keymappings on
++      Darwin x86 that was inadvertently dropped (Rob Braun).
++ 699. Fix for `hostname` issue on Linux (Marc La France).
++ 698. Fix startx script for ksh (Philip B. Bruce).
++ 697. Fix Emulate3Buttons for wsmouse protocol on NetBSD and OpenBSD
++      (Matthieu Herrb).
++ 696. Temporary workaround for IA-64 (Marc La France).
++ 695. Fix SIGSEGV when printing modes that have no flags (Marc La France).
++ 694. Fix an unresolved symbol in libGLU.so that shows up when building it
++      with gcc-3 (David Dawes).
++ 693. Fix incorrect symbol prefixing with Xlib's i18n modules on Solaris,
++      and fix invalid code caused by a memcpy() macro being split by a
++      directive (Keith Packard, David Dawes, #5150, Sami Farin).
++ 692. Don't try to print mode names when NULL (David Dawes).
++ 691. Revert the ATI driver's composite sync default to off (Marc La France).
++
+ XFree86 4.2.0 (18 January 2002)
+  690. Workaround for hardware bug that prevents older ATI 3D Rage adapters from
+       being assigned to XF86Config device sections (Marc La France).
+@@ -14555,4 +14579,4 @@
+ XFree86 3.0 (26 April 1994)
+-$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.2144 2002/01/18 20:09:22 dawes Exp $
++$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.2144.2.13 2002/05/03 00:36:17 torrey Exp $
+Index: programs/Xserver/hw/xfree86/xf86Version.h
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/xf86Version.h,v
+retrieving revision 3.487
+retrieving revision 3.487.2.3
+diff -u -r3.487 -r3.487.2.3
+--- programs/Xserver/hw/xfree86/xf86Version.h  2002/01/18 20:09:24     3.487
++++ programs/Xserver/hw/xfree86/xf86Version.h  2002/03/12 19:39:25     3.487.2.3
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/xf86Version.h,v 3.487 2002/01/18 20:09:24 dawes Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/xf86Version.h,v 3.487.2.3 2002/03/12 19:39:25 dawes Exp $ */
+ #ifndef XF86_VERSION_CURRENT
+@@ -24,7 +24,7 @@
+                       0)
+-#define XF86_DATE     "18 January 2002"
++#define XF86_DATE     "11 March 2002"
+ #endif
+Index: programs/Xserver/hw/xfree86/common/xf86Mode.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/common/xf86Mode.c,v
+retrieving revision 1.48
+retrieving revision 1.48.2.3
+diff -u -r1.48 -r1.48.2.3
+--- programs/Xserver/hw/xfree86/common/xf86Mode.c      2001/12/06 15:40:27     1.48
++++ programs/Xserver/hw/xfree86/common/xf86Mode.c      2002/01/25 15:58:00     1.48.2.3
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Mode.c,v 1.48 2001/12/06 15:40:27 tsi Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Mode.c,v 1.48.2.3 2002/01/25 15:58:00 tsi Exp $ */
+ /*
+  * Copyright (c) 1997,1998 by The XFree86 Project, Inc.
+@@ -1805,46 +1805,41 @@
+ static void
+ add(char **p, char *new)
+ {
+-    if (!*p) {
+-        *p = xnfalloc(strlen(new) + 1);
+-      strcpy(*p,new);
+-    } else {
+-        *p = xnfrealloc(*p,((*p)?strlen(*p):0) + strlen(new) + 2);
+-      strcat(*p," ");
+-      strcat(*p,new);
+-    }
++    *p = xnfrealloc(*p, strlen(*p) + strlen(new) + 2);
++    strcat(*p, " ");
++    strcat(*p, new);
+ }
+ static void
+ PrintModeline(int scrnIndex,DisplayModePtr mode)
+ {
+     char tmp[256];
+-    char *flags = NULL;
++    char *flags = xnfcalloc(1, 1);
+     if (mode->HSkew) { 
+-        snprintf(tmp,256,"hskew %i",mode->HSkew); 
+-      add(&flags,tmp);
++      snprintf(tmp, 256, "hskew %i", mode->HSkew); 
++      add(&flags, tmp);
+     }
+     if (mode->VScan) { 
+-        snprintf(tmp,256,"vscan %i",mode->VScan); 
+-      add(&flags,tmp);
++      snprintf(tmp, 256, "vscan %i", mode->VScan); 
++      add(&flags, tmp);
+     }
+-    if (mode->Flags & V_INTERLACE) add(&flags,"interlace");
+-    if (mode->Flags & V_CSYNC) add(&flags,"composite");
+-    if (mode->Flags & V_DBLSCAN) add(&flags,"doublescan");
+-    if (mode->Flags & V_BCAST) add(&flags,"bcast");
+-    if (mode->Flags & V_PHSYNC) add(&flags,"+hsync");
+-    if (mode->Flags & V_NHSYNC) add(&flags,"-hsync");
+-    if (mode->Flags & V_PVSYNC) add(&flags,"+vsync");
+-    if (mode->Flags & V_NVSYNC) add(&flags,"-vsync");
+-    if (mode->Flags & V_PCSYNC) add(&flags,"+csync");
+-    if (mode->Flags & V_NCSYNC) add(&flags,"-csync");
+-    xf86DrvMsgVerb(scrnIndex,X_INFO,3,
+-                 "Modeline \"%s\"  %6.2f  %i %i %i %i  %i %i %i %i %s\n",
+-                 mode->name,mode->Clock/1000., mode->HDisplay,
+-                 mode->HSyncStart,mode->HSyncEnd,mode->HTotal,
+-                 mode->VDisplay,mode->VSyncStart,mode->VSyncEnd,
+-                 mode->VTotal,flags);
++    if (mode->Flags & V_INTERLACE) add(&flags, "interlace");
++    if (mode->Flags & V_CSYNC) add(&flags, "composite");
++    if (mode->Flags & V_DBLSCAN) add(&flags, "doublescan");
++    if (mode->Flags & V_BCAST) add(&flags, "bcast");
++    if (mode->Flags & V_PHSYNC) add(&flags, "+hsync");
++    if (mode->Flags & V_NHSYNC) add(&flags, "-hsync");
++    if (mode->Flags & V_PVSYNC) add(&flags, "+vsync");
++    if (mode->Flags & V_NVSYNC) add(&flags, "-vsync");
++    if (mode->Flags & V_PCSYNC) add(&flags, "+csync");
++    if (mode->Flags & V_NCSYNC) add(&flags, "-csync");
++    xf86DrvMsgVerb(scrnIndex, X_INFO, 3,
++                 "Modeline \"%s\"  %6.2f  %i %i %i %i  %i %i %i %i%s\n",
++                 mode->name, mode->Clock/1000., mode->HDisplay,
++                 mode->HSyncStart, mode->HSyncEnd, mode->HTotal,
++                 mode->VDisplay, mode->VSyncStart, mode->VSyncEnd,
++                 mode->VTotal, flags);
+     xfree(flags);
+ }
+@@ -1897,8 +1892,13 @@
+       else
+           prefix = "Mode";
+       if (hsync == 0 || refresh == 0) {
+-          xf86DrvMsg(scrp->scrnIndex, X_CONFIG,
+-                      "%s \"%s\"\n", prefix, p->name);
++          if (p->name)
++              xf86DrvMsg(scrp->scrnIndex, X_CONFIG,
++                         "%s \"%s\"\n", prefix, p->name);
++          else
++              xf86DrvMsg(scrp->scrnIndex, X_PROBED,
++                         "%s %dx%d (unnamed)\n", prefix, p->HDisplay,
++                          p->VDisplay);
+       } else if (p->Clock == p->SynthClock) {
+           xf86DrvMsg(scrp->scrnIndex, X_CONFIG,
+                       "%s \"%s\": %.1f MHz, %.1f kHz, %.1f Hz%s%s\n",
+Index: programs/Xserver/hw/xfree86/common/xf86pciBus.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/common/xf86pciBus.c,v
+retrieving revision 3.48
+retrieving revision 3.48.2.1
+diff -u -r3.48 -r3.48.2.1
+--- programs/Xserver/hw/xfree86/common/xf86pciBus.c    2001/11/30 12:11:55     3.48
++++ programs/Xserver/hw/xfree86/common/xf86pciBus.c    2002/01/25 20:51:33     3.48.2.1
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86pciBus.c,v 3.48 2001/11/30 12:11:55 eich Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86pciBus.c,v 3.48.2.1 2002/01/25 20:51:33 tsi Exp $ */
+ /*
+  * Copyright (c) 1997-1999 by The XFree86 Project, Inc.
+  */
+@@ -1916,9 +1916,11 @@
+               pnPciBus = &PciBus->next;
+               PciBus->primary = -1;
+               PciBus->secondary = -1; /* to be set below */
++#ifndef __ia64__
+               PciBus->brbus = pcrp->busnum;
+               PciBus->brdev = pcrp->devnum;
+               PciBus->brfunc = pcrp->funcnum;
++#endif
+               PciBus->subclass = sub_class;
+               PciBus->brcontrol = PCI_PCI_BRIDGE_VGA_EN;
+               PciBus->preferred_io = xf86ExtractTypeFromList(
+Index: programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml,v
+retrieving revision 1.70
+retrieving revision 1.70.2.1
+diff -u -r1.70 -r1.70.2.1
+--- programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml 2002/01/17 18:14:59     1.70
++++ programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml 2002/01/21 19:02:04     1.70.2.1
+@@ -9,7 +9,7 @@
+ <date>17 January 2002
+ <ident>
+-$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml,v 1.70 2002/01/17 18:14:59 dawes Exp $
++$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml,v 1.70.2.1 2002/01/21 19:02:04 dawes Exp $
+ </ident>
+ <abstract>
+@@ -955,7 +955,7 @@
+ <sect2>FreeType support in Xft
+ <p>
+-XFree86 &relvers; includes sources for FreeType version 2.0.1, and, by
++XFree86 &relvers; includes sources for FreeType version 2.0.6, and, by
+ default, they are built and installed automatically.
+ <p>
+@@ -988,13 +988,11 @@
+ <p>
+ By default, xterm uses core fonts through the standard core API.  It has
+-two command line options and associated resources to direct it to use
++a command line option and associated resource to direct it to use
+ Xft instead:
+ <itemize>
+   <item><tt>-fa</tt> family / <tt>.VT100.faceName:</tt> family.  Selects the 
+       font family to use.
+-  <item><tt>-fs</tt> pointsize / <tt>.VT100.faceSize:</tt> pointsize.  
+-      Selects the pointsize.
+ </itemize>
+ <p>
+Index: programs/Xserver/hw/xfree86/drivers/ati/aticonfig.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/aticonfig.c,v
+retrieving revision 1.9
+retrieving revision 1.9.2.1
+diff -u -r1.9 -r1.9.2.1
+--- programs/Xserver/hw/xfree86/drivers/ati/aticonfig.c        2002/01/16 16:22:26     1.9
++++ programs/Xserver/hw/xfree86/drivers/ati/aticonfig.c        2002/01/23 16:17:59     1.9.2.1
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/aticonfig.c,v 1.9 2002/01/16 16:22:26 tsi Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/aticonfig.c,v 1.9.2.1 2002/01/23 16:17:59 tsi Exp $ */
+ /*
+  * Copyright 2000 through 2002 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
+  *
+@@ -143,7 +143,7 @@
+         ShadowFB = TRUE;
+     }
+-    Blend = CSync = /* Sync = */ TRUE;
++    Blend = /* CSync = Sync = */ TRUE;
+     xf86ProcessOptions(pScreenInfo->scrnIndex, pScreenInfo->options,
+         PublicOption);
+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.63
+retrieving revision 1.63.2.1
+diff -u -r1.63 -r1.63.2.1
+--- programs/Xserver/hw/xfree86/drivers/trident/trident_dac.c  2002/01/11 13:06:30     1.63
++++ programs/Xserver/hw/xfree86/drivers/trident/trident_dac.c  2002/03/29 18:34:24     1.63.2.1
+@@ -22,7 +22,7 @@
+  *
+  * Author:  Alan Hourihane, alanh@fairlite.demon.co.uk
+  */
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_dac.c,v 1.63 2002/01/11 13:06:30 alanh Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_dac.c,v 1.63.2.1 2002/03/29 18:34:24 alanh Exp $ */
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+@@ -191,7 +191,6 @@
+     vgaHWPtr hwp = VGAHWPTR(pScrn);
+     vgaRegPtr regp = &hwp->ModeReg;
+     vgaRegPtr vgaReg = &hwp->ModeReg;
+-    vgaHWGetIOBase(VGAHWPTR(pScrn));
+     vgaIOBase = VGAHWPTR(pScrn)->IOBase;
+     
+     /* Unprotect */
+@@ -640,7 +639,6 @@
+     TRIDENTPtr pTrident = TRIDENTPTR(pScrn);
+     CARD8 temp;
+     int vgaIOBase;
+-    vgaHWGetIOBase(VGAHWPTR(pScrn));
+     vgaIOBase = VGAHWPTR(pScrn)->IOBase;
+     if (pTrident->Chipset > PROVIDIA9685) {
+@@ -773,7 +771,6 @@
+     TRIDENTPtr pTrident = TRIDENTPTR(pScrn);
+     CARD8 temp;
+     int vgaIOBase;
+-    vgaHWGetIOBase(VGAHWPTR(pScrn));
+     vgaIOBase = VGAHWPTR(pScrn)->IOBase;
+     /* Goto New Mode */
+@@ -886,7 +883,6 @@
+ {
+     TRIDENTPtr pTrident = TRIDENTPTR(pScrn);
+     int vgaIOBase;
+-    vgaHWGetIOBase(VGAHWPTR(pScrn));
+     vgaIOBase = VGAHWPTR(pScrn)->IOBase;
+     /* 64x64 */
+@@ -897,7 +893,6 @@
+ TridentHideCursor(ScrnInfoPtr pScrn) {
+     int vgaIOBase;
+     TRIDENTPtr pTrident = TRIDENTPTR(pScrn);
+-    vgaHWGetIOBase(VGAHWPTR(pScrn));
+     vgaIOBase = VGAHWPTR(pScrn)->IOBase;
+     OUTW(vgaIOBase + 4, 0x4150);
+@@ -908,7 +903,6 @@
+ {
+     int vgaIOBase;
+     TRIDENTPtr pTrident = TRIDENTPTR(pScrn);
+-    vgaHWGetIOBase(VGAHWPTR(pScrn));
+     vgaIOBase = VGAHWPTR(pScrn)->IOBase;
+     
+     if (x < 0) {
+@@ -934,7 +928,6 @@
+ {
+     int vgaIOBase;
+     TRIDENTPtr pTrident = TRIDENTPTR(pScrn);
+-    vgaHWGetIOBase(VGAHWPTR(pScrn));
+     vgaIOBase = VGAHWPTR(pScrn)->IOBase;
+     OUTW(vgaIOBase + 4, (fg & 0x000000FF)<<8  | 0x48);
+     OUTW(vgaIOBase + 4, (fg & 0x0000FF00)     | 0x49);
+@@ -954,7 +947,6 @@
+ {
+     TRIDENTPtr pTrident = TRIDENTPTR(pScrn);
+     int vgaIOBase;
+-    vgaHWGetIOBase(VGAHWPTR(pScrn));
+     vgaIOBase = VGAHWPTR(pScrn)->IOBase;
+     memcpy((CARD8 *)pTrident->FbBase + (pScrn->videoRam * 1024) - 4096,
+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.160
+retrieving revision 1.160.2.1
+diff -u -r1.160 -r1.160.2.1
+--- programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c       2002/01/15 18:31:19     1.160
++++ programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c       2002/03/29 18:34:24     1.160.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.160 2002/01/15 18:31:19 alanh Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c,v 1.160.2.1 2002/03/29 18:34:24 alanh Exp $ */
+ #include "xf1bpp.h"
+ #include "xf4bpp.h"
+@@ -2598,7 +2598,6 @@
+       vgaHWSetMmioFuncs(hwp, pTrident->IOBase, 0);
+     }
+-    vgaHWGetIOBase(hwp);
+     vgaIOBase = VGAHWPTR(pScrn)->IOBase;
+     /* Save the current state */
+Index: programs/Xserver/hw/xfree86/drivers/trident/trident_video.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/trident/trident_video.c,v
+retrieving revision 1.21
+retrieving revision 1.21.2.1
+diff -u -r1.21 -r1.21.2.1
+--- programs/Xserver/hw/xfree86/drivers/trident/trident_video.c        2002/01/13 00:15:52     1.21
++++ programs/Xserver/hw/xfree86/drivers/trident/trident_video.c        2002/01/28 14:32:55     1.21.2.1
+@@ -21,7 +21,7 @@
+  *
+  * Author:  Alan Hourihane, alanh@fairlite.demon.co.uk
+  */
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_video.c,v 1.21 2002/01/13 00:15:52 alanh Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_video.c,v 1.21.2.1 2002/01/28 14:32:55 alanh Exp $ */
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+@@ -1356,6 +1356,8 @@
+   pTrident->hsync = (HTotal - HSyncStart) + 23 + h_off;
+   pTrident->vsync = (VTotal - VSyncStart) - 2 + v_off;
++  pTrident->hsync_rskew = 0;
++  pTrident->vsync_bskew = 0;
+   
+   /* 
+    * HACK !! As awful as this is, it appears to be the only way....Sigh!
+Index: programs/Xserver/hw/xfree86/drivers/trident/tvga_dac.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/trident/tvga_dac.c,v
+retrieving revision 1.5
+retrieving revision 1.5.4.1
+diff -u -r1.5 -r1.5.4.1
+--- programs/Xserver/hw/xfree86/drivers/trident/tvga_dac.c     2001/09/12 13:50:12     1.5
++++ programs/Xserver/hw/xfree86/drivers/trident/tvga_dac.c     2002/03/29 18:34:24     1.5.4.1
+@@ -21,7 +21,7 @@
+  *
+  * Author:  Alan Hourihane, alanh@fairlite.demon.co.uk
+  */
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/tvga_dac.c,v 1.5 2001/09/12 13:50:12 alanh Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/tvga_dac.c,v 1.5.4.1 2002/03/29 18:34:24 alanh Exp $ */
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+@@ -43,7 +43,6 @@
+     int vgaIOBase;
+     int offset = 0;
+     int clock = mode->Clock;
+-    vgaHWGetIOBase(VGAHWPTR(pScrn));
+     vgaIOBase = VGAHWPTR(pScrn)->IOBase;
+     OUTB(0x3C4, 0x0B); INB(0x3C5); /* Ensure we are in New Mode */
+@@ -140,7 +139,6 @@
+     TRIDENTPtr pTrident = TRIDENTPTR(pScrn);
+     CARD8 temp;
+     int vgaIOBase;
+-    vgaHWGetIOBase(VGAHWPTR(pScrn));
+     vgaIOBase = VGAHWPTR(pScrn)->IOBase;
+     /* Goto Old Mode */
+@@ -188,7 +186,6 @@
+     TRIDENTPtr pTrident = TRIDENTPTR(pScrn);
+     CARD8 temp;
+     int vgaIOBase;
+-    vgaHWGetIOBase(VGAHWPTR(pScrn));
+     vgaIOBase = VGAHWPTR(pScrn)->IOBase;
+     temp = INB(0x3C8);
+Index: programs/Xserver/hw/xfree86/etc/Xinstall.sh
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/etc/Xinstall.sh,v
+retrieving revision 1.37
+retrieving revision 1.37.2.1
+diff -u -r1.37 -r1.37.2.1
+--- programs/Xserver/hw/xfree86/etc/Xinstall.sh        2002/01/17 20:54:23     1.37
++++ programs/Xserver/hw/xfree86/etc/Xinstall.sh        2002/02/05 22:51:04     1.37.2.1
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ #
+-# $XFree86: xc/programs/Xserver/hw/xfree86/etc/Xinstall.sh,v 1.37 2002/01/17 20:54:23 dawes Exp $
++# $XFree86: xc/programs/Xserver/hw/xfree86/etc/Xinstall.sh,v 1.37.2.1 2002/02/05 22:51:04 torrey Exp $
+ #
+ # Copyright © 2000 by Precision Insight, Inc.
+ # Copyright © 2000, 2001 by VA Linux Systems, Inc.
+@@ -435,7 +435,7 @@
+                       1.[2-3]*)
+                               DistName="Darwin-ppc-1.x"
+                               ;;
+-                      1.4.* | 5.*)
++                      1.4* | 5.*)
+                               DistName="Darwin-ppc-5.x"
+                               ;;
+                       [6-9].*)
+@@ -448,7 +448,7 @@
+                       ;;
+               x86*)
+                       case "$OsVersion" in
+-                      1.4.* | 5.*)
++                      1.4* | 5.*)
+                               DistName="Darwin-ix86-5.x"
+                               ;;
+                       [6-9].*)
+Index: programs/Xserver/hw/xfree86/input/hyperpen/xf86HyperPen.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/input/hyperpen/xf86HyperPen.c,v
+retrieving revision 1.5
+retrieving revision 1.5.2.1
+diff -u -r1.5 -r1.5.2.1
+--- programs/Xserver/hw/xfree86/input/hyperpen/xf86HyperPen.c  2001/12/26 21:51:58     1.5
++++ programs/Xserver/hw/xfree86/input/hyperpen/xf86HyperPen.c  2002/02/25 20:17:51     1.5.2.1
+@@ -35,7 +35,7 @@
+  * TORTIOUS ACTIONS, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+  * PERFORMANCE OF THIS SOFTWARE.
+  */
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/input/hyperpen/xf86HyperPen.c,v 1.5 2001/12/26 21:51:58 dawes Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/input/hyperpen/xf86HyperPen.c,v 1.5.2.1 2002/02/25 20:17:51 dawes Exp $ */
+ #include <xf86Version.h>
+@@ -1779,7 +1779,7 @@
+                               /* a tool */
+ };
+-XF86ModuleData HyperPenModuleData = {&xf86HypVersionRec,
++XF86ModuleData hyperpenModuleData = {&xf86HypVersionRec,
+                                       xf86HypPlug,
+                                       xf86HypUnplug};
+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.20
+retrieving revision 1.20.2.1
+diff -u -r1.20 -r1.20.2.1
+--- programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c     2002/01/14 15:34:23     1.20
++++ programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c     2002/01/27 19:05:19     1.20.2.1
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v 1.20 2002/01/14 15:34:23 dawes Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v 1.20.2.1 2002/01/27 19:05:19 herrb Exp $ */
+ /*
+  * Copyright 1999 by The XFree86 Project, Inc.
+@@ -36,9 +36,6 @@
+ #define UMS_BUT(i) ((i) == 0 ? 2 : (i) == 1 ? 0 : (i) == 2 ? 1 : (i))
+ #endif /* USBMOUSE_SUPPORT */
+-#ifdef WSCONS_SUPPORT
+-static void wsconsSigioReadInput (int fd, void *closure);
+-#endif
+ #ifdef USBMOUSE_SUPPORT
+ static void usbSigioReadInput (int fd, void *closure);
+ #endif
+@@ -196,82 +193,6 @@
+ #if defined(WSCONS_SUPPORT)
+ #define NUMEVENTS 64
+-static int
+-wsconsMouseProc(DeviceIntPtr pPointer, int what)
+-{
+-    InputInfoPtr pInfo;
+-    MouseDevPtr pMse;
+-    unsigned char map[MSE_MAXBUTTONS + 1];
+-    int nbuttons;
+-
+-    pInfo = pPointer->public.devicePrivate;
+-    pMse = pInfo->private;
+-    pMse->device = pPointer;
+-
+-    switch (what) {
+-    case DEVICE_INIT: 
+-      pPointer->public.on = FALSE;
+-
+-      for (nbuttons = 0; nbuttons < MSE_MAXBUTTONS; ++nbuttons)
+-          map[nbuttons + 1] = nbuttons + 1;
+-
+-      InitPointerDeviceStruct((DevicePtr)pPointer, 
+-                              map, 
+-                              min(pMse->buttons, MSE_MAXBUTTONS),
+-                              miPointerGetMotionEvents, 
+-                              pMse->Ctrl,
+-                              miPointerGetMotionBufferSize());
+-
+-      /* X valuator */
+-      xf86InitValuatorAxisStruct(pPointer, 0, 0, -1, 1, 0, 1);
+-      xf86InitValuatorDefaults(pPointer, 0);
+-      /* Y valuator */
+-      xf86InitValuatorAxisStruct(pPointer, 1, 0, -1, 1, 0, 1);
+-      xf86InitValuatorDefaults(pPointer, 1);
+-      xf86MotionHistoryAllocate(pInfo);
+-      break;
+-
+-    case DEVICE_ON:
+-      pInfo->fd = xf86OpenSerial(pInfo->options);
+-      if (pInfo->fd == -1)
+-          xf86Msg(X_WARNING, "%s: cannot open input device\n", pInfo->name);
+-      else {
+-          pMse->buffer = XisbNew(pInfo->fd,
+-                            NUMEVENTS * sizeof(struct wscons_event));
+-          if (!pMse->buffer) {
+-              xfree(pMse);
+-              xf86CloseSerial(pInfo->fd);
+-              pInfo->fd = -1;
+-          } else {
+-              xf86FlushInput(pInfo->fd);
+-              if (!xf86InstallSIGIOHandler (pInfo->fd, wsconsSigioReadInput, pInfo))
+-                  AddEnabledDevice(pInfo->fd);
+-          }
+-      }
+-      pMse->lastButtons = 0;
+-      pMse->emulateState = 0;
+-      pPointer->public.on = TRUE;
+-      break;
+-
+-    case DEVICE_OFF:
+-    case DEVICE_CLOSE:
+-      if (pInfo->fd != -1) {
+-          RemoveEnabledDevice(pInfo->fd);
+-          if (pMse->buffer) {
+-              XisbFree(pMse->buffer);
+-              pMse->buffer = NULL;
+-          }
+-          xf86CloseSerial(pInfo->fd);
+-          pInfo->fd = -1;
+-      }
+-      pPointer->public.on = FALSE;
+-      usleep(300000);
+-      break;
+-    }
+-    return Success;
+-}
+-
+-
+ static void
+ wsconsReadInput(InputInfoPtr pInfo)
+ {
+@@ -328,12 +249,6 @@
+     return;
+ }
+-static void
+-wsconsSigioReadInput (int fd, void *closure)
+-{
+-    wsconsReadInput ((InputInfoPtr) closure);
+-}
+-
+ /* This function is called when the protocol is "wsmouse". */
+ static Bool
+@@ -365,8 +280,7 @@
+     /* Process common mouse options (like Emulate3Buttons, etc). */
+     pMse->CommonOptions(pInfo);
+-    /* Setup the local procs. */
+-    pInfo->device_control = wsconsMouseProc;
++    /* Setup the local input proc. */
+     pInfo->read_input = wsconsReadInput;
+     pInfo->flags |= XI86_CONFIGURED;
+Index: programs/Xserver/hw/xfree86/xf8_32bpp/xf86overlay.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/xf8_32bpp/xf86overlay.c,v
+retrieving revision 1.8
+retrieving revision 1.8.8.1
+diff -u -r1.8 -r1.8.8.1
+--- programs/Xserver/hw/xfree86/xf8_32bpp/xf86overlay.c        2000/03/25 20:14:43     1.8
++++ programs/Xserver/hw/xfree86/xf8_32bpp/xf86overlay.c        2002/02/11 00:07:42     1.8.8.1
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/xf8_32bpp/xf86overlay.c,v 1.8 2000/03/25 20:14:43 mvojkovi Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/xf8_32bpp/xf86overlay.c,v 1.8.8.1 2002/02/11 00:07:42 dawes Exp $ */
+ /*
+    Copyright (C) 1998.  The XFree86 Project Inc.
+@@ -311,6 +311,7 @@
+       pmap->red[pScrn->colorKey].refcnt = AllocPrivate;
+       pmap->red[pScrn->colorKey].fShared = FALSE;
++      pmap->freeRed--;
+       
+       color.red = color.blue = color.green = 0;
+       color.pixel = pScrn->colorKey;
+Index: programs/Xserver/os/xdmcp.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/os/xdmcp.c,v
+retrieving revision 3.20
+retrieving revision 3.20.4.1
+diff -u -r3.20 -r3.20.4.1
+--- programs/Xserver/os/xdmcp.c        2001/11/19 20:44:18     3.20
++++ programs/Xserver/os/xdmcp.c        2002/03/11 18:59:51     3.20.4.1
+@@ -13,7 +13,7 @@
+  * without express or implied warranty.
+  *
+  */
+-/* $XFree86: xc/programs/Xserver/os/xdmcp.c,v 3.20 2001/11/19 20:44:18 tsi Exp $ */
++/* $XFree86: xc/programs/Xserver/os/xdmcp.c,v 3.20.4.1 2002/03/11 18:59:51 keithp Exp $ */
+ #ifdef WIN32
+ /* avoid conflicting definitions */
+@@ -660,34 +660,17 @@
+     pointer       pReadmask)
+ {
+     fd_set *LastSelectMask = (fd_set*)pReadmask;
+-    CARD32 millisToGo, wtMillis;
+-    static struct timeval waittime;
++    CARD32 millisToGo;
+     if (state == XDM_OFF)
+       return;
+     FD_SET(xdmcpSocket, LastSelectMask);
+     if (timeOutTime == 0)
+       return;
+-    millisToGo = GetTimeInMillis();
+-    if (millisToGo < timeOutTime)
+-      millisToGo = timeOutTime - millisToGo;
+-    else
++    millisToGo = timeOutTime - GetTimeInMillis();
++    if ((int) millisToGo < 0)
+       millisToGo = 0;
+-    if (*wt == NULL)
+-    {
+-      waittime.tv_sec = (millisToGo) / 1000;
+-      waittime.tv_usec = 1000 * (millisToGo % 1000);
+-      *wt = &waittime;
+-    }
+-    else
+-    {
+-      wtMillis = (*wt)->tv_sec * 1000 + (*wt)->tv_usec / 1000;
+-      if (millisToGo < wtMillis)
+-      {
+-          (*wt)->tv_sec = (millisToGo) / 1000;
+-          (*wt)->tv_usec = 1000 * (millisToGo % 1000);
+-      }
+-    }
++    AdjustWaitForDelay (wt, millisToGo);
+ }
+ /*
+@@ -726,7 +709,7 @@
+       if (XFD_ANYSET(&AllClients) && state == XDM_RUN_SESSION)
+           timeOutTime = GetTimeInMillis() +  keepaliveDormancy * 1000;
+     }
+-    else if (timeOutTime && GetTimeInMillis() >= timeOutTime)
++    else if (timeOutTime && (int) (GetTimeInMillis() - timeOutTime) >= 0)
+     {
+       if (state == XDM_RUN_SESSION)
+       {
+Index: programs/scripts/xon.sh
+===================================================================
+RCS file: /cvs/xc/programs/scripts/xon.sh,v
+retrieving revision 1.5
+retrieving revision 1.5.2.1
+diff -u -r1.5 -r1.5.2.1
+--- programs/scripts/xon.sh    2002/01/07 22:00:32     1.5
++++ programs/scripts/xon.sh    2002/01/28 18:27:33     1.5.2.1
+@@ -1,5 +1,6 @@
+ #!/bin/sh
+ # $Xorg: xon.sh,v 1.4 2000/12/20 16:50:07 pookie Exp $
++# $XFree86: xc/programs/scripts/xon.sh,v 1.5.2.1 2002/01/28 18:27:33 tsi Exp $
+ # start up xterm (or any other X command) on the specified host
+ # Usage: xon host [arguments] [command]
+@@ -47,7 +48,11 @@
+ :*)
+       case `uname` in
+       Linux*)
+-              fullname=`hostname -f`
++              if [ -z "`hostname --version | grep GNU`" ]; then
++                      fullname=`hostname -f`
++              else
++                      fullname=`hostname`
++              fi
+               ;;
+       *)
+       fullname=`uname -n`
+Index: programs/xinit/startx.cpp
+===================================================================
+RCS file: /cvs/xc/programs/xinit/startx.cpp,v
+retrieving revision 3.12
+retrieving revision 3.12.2.2
+diff -u -r3.12 -r3.12.2.2
+--- programs/xinit/startx.cpp  2001/11/30 20:57:48     3.12
++++ programs/xinit/startx.cpp  2002/01/28 18:27:34     3.12.2.2
+@@ -11,7 +11,7 @@
+ XCOMM
+ XCOMM Site administrators are STRONGLY urged to write nicer versions.
+ XCOMM
+-XCOMM $XFree86: xc/programs/xinit/startx.cpp,v 3.12 2001/11/30 20:57:48 dawes Exp $
++XCOMM $XFree86: xc/programs/xinit/startx.cpp,v 3.12.2.2 2002/01/28 18:27:34 tsi Exp $
+ #ifdef SCO
+@@ -139,24 +139,30 @@
+ fi
+ if [ x"$XAUTHORITY" = x ]; then
+-    export XAUTHORITY=$HOME/.Xauthority
++    XAUTHORITY=$HOME/.Xauthority
++    export XAUTHORITY
+ fi
+ removelist=
+ #if defined(HAS_COOKIE_MAKER) && defined(MK_COOKIE)
+ XCOMM set up default Xauth info for this machine
+-#ifndef HOSTNAME
+-#ifdef __linux__
+-#define HOSTNAME hostname -f
+-#else
+-#define HOSTNAME hostname
+-#endif
+-#endif
++case `uname` in
++Linux*)
++      if [ -z "`hostname --version | grep GNU`" ]; then
++              hostname=`hostname -f`
++      else
++              hostname=`hostname`
++      fi
++      ;;
++*)
++      hostname=`hostname`
++      ;;
++esac
+ authdisplay=${display:-:0}
+ mcookie=`MK_COOKIE`
+-for displayname in $authdisplay `HOSTNAME`$authdisplay; do
++for displayname in $authdisplay $hostname$authdisplay; do
+     if ! xauth list "$displayname" | grep "$displayname " >/dev/null 2>&1; then
+       xauth add $displayname . $mcookie
+       removelist="$displayname $removelist"
This page took 0.113608 seconds and 4 git commands to generate.