Importing vendor version xf86-012804-2330 on Thu Jan 29 00:06:33 PST 2004
This commit is contained in:
parent
2ec70aa701
commit
3c64b65d80
|
@ -45,7 +45,7 @@ not be used in advertising or otherwise to promote the sale, use or other
|
|||
dealings in this Software without prior written authorization from said
|
||||
copyright holders.
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/Xprint/pcl/PclSFonts.c,v 1.7 2003/10/29 22:11:00 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/Xprint/pcl/PclSFonts.c,v 1.8 2003/12/22 17:48:05 tsi Exp $ */
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
@ -58,7 +58,6 @@ static short tmp2;
|
|||
|
||||
#define ESC 0x1b
|
||||
#define SYMBOL_SET 277
|
||||
#define MAX_CINDEX 255
|
||||
|
||||
static unsigned int PclDownloadChar(FILE *,PclCharDataPtr,unsigned short,unsigned char);
|
||||
static unsigned int PclDownloadHeader(FILE *, PclFontDescPtr, unsigned short);
|
||||
|
@ -117,8 +116,6 @@ PclDownloadSoftFont16(
|
|||
}
|
||||
pfh->index[row][col].fid = pfh->cur_fid;
|
||||
pfh->index[row][col].cindex = pfh->cur_cindex++;
|
||||
if ( pfh->cur_cindex > MAX_CINDEX )
|
||||
pfh->cur_cindex = 0;
|
||||
|
||||
PclDownloadChar(fp, pcd, pfh->index[row][col].fid, pfh->index[row][col].cindex);
|
||||
}
|
||||
|
|
28
dix/events.c
28
dix/events.c
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/dix/events.c,v 3.50 2003/11/17 22:20:34 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/dix/events.c,v 3.52 2004/01/23 07:23:34 herrb Exp $ */
|
||||
/************************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
@ -944,7 +944,8 @@ EnqueueEvent(xE, device, count)
|
|||
|
||||
#ifdef XKB
|
||||
/* Fix for key repeating bug. */
|
||||
if (xE->u.u.type == KeyRelease)
|
||||
if (device->key != NULL && device->key->xkbInfo != NULL &&
|
||||
xE->u.u.type == KeyRelease)
|
||||
AccessXCancelRepeatKey(device->key->xkbInfo, xE->u.u.detail);
|
||||
#endif
|
||||
|
||||
|
@ -1647,8 +1648,11 @@ DeliverEventsToWindow(pWin, pEvents, count, filter, grab, mskidx)
|
|||
#ifdef XINPUT
|
||||
else
|
||||
{
|
||||
if (((type == DeviceMotionNotify) || (type == DeviceButtonPress)) &&
|
||||
deliveries)
|
||||
if (((type == DeviceMotionNotify)
|
||||
#ifdef XKB
|
||||
|| (type == DeviceButtonPress)
|
||||
#endif
|
||||
) && deliveries)
|
||||
CheckDeviceGrabAndHintWindow (pWin, type,
|
||||
(deviceKeyButtonPointer*) pEvents,
|
||||
grab, client, deliveryMask);
|
||||
|
@ -2367,10 +2371,10 @@ CheckPassiveGrabsOnWindow(
|
|||
xkbi= gdev->key->xkbInfo;
|
||||
#endif
|
||||
tempGrab.modifierDevice = grab->modifierDevice;
|
||||
if (device == grab->modifierDevice &&
|
||||
(xE->u.u.type == KeyPress
|
||||
#ifdef XINPUT
|
||||
|| xE->u.u.type == DeviceKeyPress
|
||||
if ((device == grab->modifierDevice) &&
|
||||
((xE->u.u.type == KeyPress)
|
||||
#if defined(XINPUT) && defined(XKB)
|
||||
|| (xE->u.u.type == DeviceKeyPress)
|
||||
#endif
|
||||
))
|
||||
tempGrab.modifiersDetail.exact =
|
||||
|
@ -2455,11 +2459,11 @@ CheckDeviceGrabs(device, xE, checkFirst, count)
|
|||
register WindowPtr pWin = NULL;
|
||||
register FocusClassPtr focus = device->focus;
|
||||
|
||||
if ((xE->u.u.type == ButtonPress
|
||||
#ifdef XINPUT
|
||||
|| xE->u.u.type == DeviceButtonPress
|
||||
if (((xE->u.u.type == ButtonPress)
|
||||
#if defined(XINPUT) && defined(XKB)
|
||||
|| (xE->u.u.type == DeviceButtonPress)
|
||||
#endif
|
||||
) && device->button->buttonsDown != 1)
|
||||
) && (device->button->buttonsDown != 1))
|
||||
return FALSE;
|
||||
|
||||
i = checkFirst;
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
.\" not be used in advertising or otherwise to promote the sale, use or
|
||||
.\" other dealings in this Software without prior written authorization
|
||||
.\" from The Open Group.
|
||||
.\" $XFree86: xc/programs/Xserver/Xserver.man,v 3.29 2003/09/08 14:25:26 eich Exp $
|
||||
.\" $XFree86: xc/programs/Xserver/Xserver.man,v 3.32 2004/01/12 21:43:19 herrb Exp $
|
||||
.\" shorthand for double quote that works everywhere.
|
||||
.ds q \N'34'
|
||||
.TH XSERVER 1 __xorgversion__
|
||||
|
@ -37,16 +37,17 @@ is the generic name for the X Window System display server. It is
|
|||
frequently a link or a copy of the appropriate server binary for
|
||||
driving the most frequently used server on a given machine.
|
||||
.SH "STARTING THE SERVER"
|
||||
The X server is usually started from the X Display Manager program \fIxdm\fP(1).
|
||||
The X server is usually started from the X Display Manager program
|
||||
\fIxdm\fP(1) or a similar display manager program.
|
||||
This utility is run from the system boot files and takes care of keeping
|
||||
the server running, prompting for usernames and passwords, and starting up
|
||||
the user sessions.
|
||||
.PP
|
||||
Installations that run more than one window system may need to use the
|
||||
\fIxinit\fP(1) utility instead of \fIxdm\fP. However, \fIxinit\fP is
|
||||
\fIxinit\fP(1) utility instead of a display manager. However, \fIxinit\fP is
|
||||
to be considered a tool for building startup scripts and is not
|
||||
intended for use by end users. Site administrators are \fBstrongly\fP
|
||||
urged to use \fIxdm\fP, or build other interfaces for novice users.
|
||||
urged to use a display manager, or build other interfaces for novice users.
|
||||
.PP
|
||||
The X server may also be started directly by the user, though this
|
||||
method is usually reserved for testing and is not recommended for
|
||||
|
@ -95,8 +96,8 @@ Audit lines are sent as standard error output.
|
|||
.TP 8
|
||||
.B \-auth \fIauthorization-file\fP
|
||||
specifies a file which contains a collection of authorization records used
|
||||
to authenticate access. See also the \fIxdm\fP and \fIXsecurity\fP manual
|
||||
pages.
|
||||
to authenticate access. See also the \fIxdm\fP(1) and
|
||||
\fIXsecurity\fP(__miscmansuffix__) manual pages.
|
||||
.TP 8
|
||||
.B bc
|
||||
disables certain kinds of error checking, for bug compatibility with
|
||||
|
@ -139,15 +140,23 @@ different from the user's real uid.
|
|||
.B \-core
|
||||
causes the server to generate a core dump on fatal errors.
|
||||
.TP 8
|
||||
.B \-deferglyphs \fIwhichfonts\fP
|
||||
specifies the types of fonts for which the server should attempt to use
|
||||
deferred glyph loading. \fIwhichfonts\fP can be all (all fonts),
|
||||
none (no fonts), or 16 (16 bit fonts only).
|
||||
.TP 8
|
||||
.B \-dpi \fIresolution\fP
|
||||
sets the resolution for all screens, in dots per inch.
|
||||
To be used when the server cannot determine the screen size(s) from the
|
||||
hardware.
|
||||
.TP 8
|
||||
.B \-deferglyphs \fIwhichfonts\fP
|
||||
specifies the types of fonts for which the server should attempt to use
|
||||
deferred glyph loading. \fIwhichfonts\fP can be all (all fonts),
|
||||
none (no fonts), or 16 (16 bit fonts only).
|
||||
.B dpms
|
||||
enables DPMS (display power management services), where supported. The
|
||||
default state is platform and configuration specific.
|
||||
.TP 8
|
||||
.B \-dpms
|
||||
disables DPMS (display power management services). The default state
|
||||
is platform and configuration specific.
|
||||
.TP 8
|
||||
.B \-f \fIvolume\fP
|
||||
sets feep (bell) volume (allowable range: 0-100).
|
||||
|
@ -161,6 +170,8 @@ sets the default font.
|
|||
.B \-fp \fIfontPath\fP
|
||||
sets the search path for fonts. This path is a comma separated list
|
||||
of directories which the X server searches for font databases.
|
||||
See the FONTS section of this manual page for more information and the default
|
||||
list.
|
||||
.TP 8
|
||||
.B \-help
|
||||
prints a usage message.
|
||||
|
@ -168,6 +179,11 @@ prints a usage message.
|
|||
.B \-I
|
||||
causes all remaining command line arguments to be ignored.
|
||||
.TP 8
|
||||
.B \-maxbigreqsize \fIsize\fP
|
||||
sets the maxmium big request to
|
||||
.I size
|
||||
MB.
|
||||
.TP 8
|
||||
.B \-nolisten \fItrans-type\fP
|
||||
disables a transport type. For example, TCP/IP connections can be disabled
|
||||
with
|
||||
|
@ -187,7 +203,11 @@ sets screen-saver pattern cycle time in minutes.
|
|||
.B \-pn
|
||||
permits the server to continue running if it fails to establish all of
|
||||
its well-known sockets (connection points for clients), but
|
||||
establishes at least one.
|
||||
establishes at least one. This option is set by default.
|
||||
.TP 8
|
||||
.B \-nopn
|
||||
causes the server to exit if it fails to establish all of its well-known
|
||||
sockets (connection points for clients).
|
||||
.TP 8
|
||||
.B \-r
|
||||
turns off auto-repeat.
|
||||
|
@ -243,7 +263,7 @@ This is a no-op for most implementations.
|
|||
.TP 8
|
||||
.B [+-]xinerama
|
||||
enables(+) or disables(-) the XINERAMA extension. The default state is
|
||||
disabled.
|
||||
platform and configuration specific.
|
||||
.SH SERVER DEPENDENT OPTIONS
|
||||
Some X servers accept the following options:
|
||||
.TP 8
|
||||
|
@ -288,6 +308,14 @@ use a gray map of 13 color cells for the X render extension.
|
|||
.I color
|
||||
use a color cube of at most 4*4*4 colors (that is 64 color cells).
|
||||
.RE
|
||||
.TP 8
|
||||
.B \-dumbSched
|
||||
disables smart scheduling on platforms that support the smart scheduler.
|
||||
.TP
|
||||
.B \-schedInterval \fIinterval\fP
|
||||
sets the smart scheduler's scheduling interval to
|
||||
.I interval
|
||||
milliseconds.
|
||||
.SH XDMCP OPTIONS
|
||||
X servers that support XDMCP have the following options.
|
||||
See the \fIX Display Manager Control Protocol\fP specification for more
|
||||
|
@ -300,6 +328,7 @@ enables XDMCP and sends Query packets to the specified
|
|||
.B \-broadcast
|
||||
enable XDMCP and broadcasts BroadcastQuery packets to the network. The
|
||||
first responding display manager will be chosen for the session.
|
||||
.TP 8
|
||||
.B \-multicast [\fIaddress\fP [\fIhop count\fP]]
|
||||
Enable XDMCP and multicast BroadcastQuery packets to the network.
|
||||
The first responding display manager is chosen for the session. If an
|
||||
|
@ -316,8 +345,8 @@ enables XDMCP and send IndirectQuery packets to the specified
|
|||
.TP 8
|
||||
.B \-port \fIport-number\fP
|
||||
uses the specified \fIport-number\fP for XDMCP packets, instead of the
|
||||
default. This option must be specified before any \-query, \-broadcast or
|
||||
\-indirect options.
|
||||
default. This option must be specified before any \-query, \-broadcast,
|
||||
\-multicast, or \-indirect options.
|
||||
.TP 8
|
||||
.B \-from \fIlocal-address\fP
|
||||
specifies the local address to connect from (useful if the connecting host
|
||||
|
@ -344,7 +373,10 @@ Yet another XDMCP specific value, this one allows the display manager to
|
|||
identify each display so that it can locate the shared key.
|
||||
.SH XKEYBOARD OPTIONS
|
||||
X servers that support the XKEYBOARD (a.k.a. \*qXKB\*q) extension accept the
|
||||
following options:
|
||||
following options. All layout files specified on the command line must be
|
||||
located in the XKB base directory or a subdirectory, and specified as the
|
||||
relative path from the XKB base directory. The default XKB base directory is
|
||||
.IR __projectroot__/lib/X11/xkb .
|
||||
.TP 8
|
||||
.B [+-]kb
|
||||
enables(+) or disables(-) the XKEYBOARD extension.
|
||||
|
@ -599,13 +631,14 @@ property Woo-Hoo OhBoy = "*son" ad
|
|||
The X server supports client connections via a platform-dependent subset of
|
||||
the following transport types: TCP\/IP, Unix Domain sockets, DECnet,
|
||||
and several varieties of SVR4 local connections. See the DISPLAY
|
||||
NAMES section of the \fIX(__miscmansuffix__)\fP manual page to learn how to
|
||||
NAMES section of the \fIX\fP(__miscmansuffix__) manual page to learn how to
|
||||
specify which transport type clients should try to use.
|
||||
.SH GRANTING ACCESS
|
||||
The X server implements a platform-dependent subset of the following
|
||||
authorization protocols: MIT-MAGIC-COOKIE-1, XDM-AUTHORIZATION-1,
|
||||
SUN-DES-1, and MIT-KERBEROS-5. See the \fIXsecurity\fP(__miscmansuffix__)
|
||||
manual page for information on the operation of these protocols.
|
||||
XDM-AUTHORIZATION-2, SUN-DES-1, and MIT-KERBEROS-5. See the
|
||||
\fIXsecurity\fP(__miscmansuffix__) manual page for information on the
|
||||
operation of these protocols.
|
||||
.PP
|
||||
Authorization data required by the above protocols is passed to the
|
||||
server in a private file named with the \fB\-auth\fP command line
|
||||
|
@ -626,15 +659,17 @@ this list initially consists of the host on which the server is running as
|
|||
well as any machines listed in the file \fI/etc/X\fBn\fI.hosts\fR, where
|
||||
\fBn\fP is the display number of the server. Each line of the file should
|
||||
contain either an Internet hostname (e.g. expo.lcs.mit.edu) or a DECnet
|
||||
hostname in double colon format (e.g. hydra::). There should be no leading
|
||||
or trailing spaces on any lines. For example:
|
||||
hostname in double colon format (e.g. hydra::) or a complete name in the format
|
||||
\fIfamily\fP:\fIname\fP as described in the \fIxhost\fP(1) manual page.
|
||||
There should be no leading or trailing spaces on any lines. For example:
|
||||
.sp
|
||||
.in +8
|
||||
.nf
|
||||
joesworkstation
|
||||
corporate.company.com
|
||||
star::
|
||||
bigcpu::
|
||||
inet:bigcpu
|
||||
local:
|
||||
.fi
|
||||
.in -8
|
||||
.PP
|
||||
|
@ -691,11 +726,7 @@ the X server uses when trying to open a font is controlled
|
|||
by the \fIfont path\fP.
|
||||
.LP
|
||||
The default font path is
|
||||
__projectroot__/lib/X11/fonts/misc/,
|
||||
__projectroot__/lib/X11/fonts/Speedo/,
|
||||
__projectroot__/lib/X11/fonts/Type1/,
|
||||
__projectroot__/lib/X11/fonts/75dpi/,
|
||||
__projectroot__/lib/X11/fonts/100dpi/" .
|
||||
__default_font_path__ .
|
||||
.LP
|
||||
The font path can be set with the \fB\-fp\fP option or by \fIxset\fP(1)
|
||||
after the server has started.
|
||||
|
@ -707,7 +738,7 @@ Initial access control list for display number \fBn\fP
|
|||
.IR __projectroot__/lib/X11/fonts/misc , __projectroot__/lib/X11/fonts/75dpi , __projectroot__/lib/X11/fonts/100dpi
|
||||
Bitmap font directories
|
||||
.TP 30
|
||||
.IR __projectroot__/lib/X11/fonts/Speedo , __projectroot__/lib/X11/fonts/Type1
|
||||
.IR __projectroot__/lib/X11/fonts/TTF , __projectroot__/lib/X11/fonts/Speedo , __projectroot__/lib/X11/fonts/Type1
|
||||
Outline font directories
|
||||
.TP 30
|
||||
.I __projectroot__/lib/X11/rgb.txt
|
||||
|
@ -720,7 +751,7 @@ Unix domain socket for display number \fBn\fP
|
|||
Kerberos 5 replay cache for display number \fBn\fP
|
||||
.TP 30
|
||||
.I /usr/adm/X\fBn\fPmsgs
|
||||
Error log file for display number \fBn\fP if run from \fIinit\fP(8)
|
||||
Error log file for display number \fBn\fP if run from \fIinit\fP(__adminmansuffix__)
|
||||
.TP 30
|
||||
.I __projectroot__/lib/X11/xdm/xdm-errors
|
||||
Default error log file if the server is run from \fIxdm\fP(1)
|
||||
|
@ -732,15 +763,15 @@ Protocols:
|
|||
.I "The X Font Service Protocol,"
|
||||
.I "X Display Manager Control Protocol"
|
||||
.PP
|
||||
Fonts: \fIbdftopcf\fP(1), \fImkfontdir\fP(1), \fIxfs\fP(1),
|
||||
\fIxlsfonts\fP(1), \fIxfontsel\fP(1), \fIxfd\fP(1),
|
||||
Fonts: \fIbdftopcf\fP(1), \fImkfontdir\fP(1), \fImkfontscale\fP(1),
|
||||
\fIxfs\fP(1), \fIxlsfonts\fP(1), \fIxfontsel\fP(1), \fIxfd\fP(1),
|
||||
.I "X Logical Font Description Conventions"
|
||||
.PP
|
||||
Security: \fIXsecurity\fP(__miscmansuffix__), \fIxauth\fP(1), \fIXau\fP(1),
|
||||
\fIxdm\fP(1), \fIxhost\fP(1), \fIxfwp\fP(1)
|
||||
\fIxdm\fP(1), \fIxhost\fP(1), \fIxfwp\fP(1),
|
||||
.I "Security Extension Specification"
|
||||
.PP
|
||||
Starting the server: \fIxdm(1)\fP, \fIxinit\fP(1)
|
||||
Starting the server: \fIxdm\fP(1), \fIxinit\fP(1)
|
||||
.PP
|
||||
Controlling the server once started: \fIxset\fP(1), \fIxsetroot\fP(1),
|
||||
\fIxhost\fP(1)
|
||||
|
|
54
fb/fbcopy.c
54
fb/fbcopy.c
|
@ -21,7 +21,7 @@
|
|||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.13 2003/11/10 18:21:47 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.14 2003/12/28 17:22:25 alanh Exp $ */
|
||||
|
||||
#include "fb.h"
|
||||
#ifdef IN_MODULE
|
||||
|
@ -398,7 +398,10 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
|||
int dx;
|
||||
int dy;
|
||||
int numRects;
|
||||
BoxRec box;
|
||||
int box_x1;
|
||||
int box_y1;
|
||||
int box_x2;
|
||||
int box_y2;
|
||||
Bool fastSrc = FALSE; /* for fast clipping with pixmap source */
|
||||
Bool fastDst = FALSE; /* for fast clipping with one rect dest */
|
||||
Bool fastExpose = FALSE; /* for fast exposures with pixmap source */
|
||||
|
@ -466,10 +469,10 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
|||
xOut += pDstDrawable->x;
|
||||
yOut += pDstDrawable->y;
|
||||
|
||||
box.x1 = xIn;
|
||||
box.y1 = yIn;
|
||||
box.x2 = xIn + widthSrc;
|
||||
box.y2 = yIn + heightSrc;
|
||||
box_x1 = xIn;
|
||||
box_y1 = yIn;
|
||||
box_x2 = xIn + widthSrc;
|
||||
box_y2 = yIn + heightSrc;
|
||||
|
||||
dx = xIn - xOut;
|
||||
dy = yIn - yOut;
|
||||
|
@ -484,32 +487,32 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
|||
* clip the source; if regions extend beyond the source size,
|
||||
* make sure exposure events get sent
|
||||
*/
|
||||
if (box.x1 < pSrcDrawable->x)
|
||||
if (box_x1 < pSrcDrawable->x)
|
||||
{
|
||||
box.x1 = pSrcDrawable->x;
|
||||
box_x1 = pSrcDrawable->x;
|
||||
fastExpose = FALSE;
|
||||
}
|
||||
if (box.y1 < pSrcDrawable->y)
|
||||
if (box_y1 < pSrcDrawable->y)
|
||||
{
|
||||
box.y1 = pSrcDrawable->y;
|
||||
box_y1 = pSrcDrawable->y;
|
||||
fastExpose = FALSE;
|
||||
}
|
||||
if (box.x2 > pSrcDrawable->x + (int) pSrcDrawable->width)
|
||||
if (box_x2 > pSrcDrawable->x + (int) pSrcDrawable->width)
|
||||
{
|
||||
box.x2 = pSrcDrawable->x + (int) pSrcDrawable->width;
|
||||
box_x2 = pSrcDrawable->x + (int) pSrcDrawable->width;
|
||||
fastExpose = FALSE;
|
||||
}
|
||||
if (box.y2 > pSrcDrawable->y + (int) pSrcDrawable->height)
|
||||
if (box_y2 > pSrcDrawable->y + (int) pSrcDrawable->height)
|
||||
{
|
||||
box.y2 = pSrcDrawable->y + (int) pSrcDrawable->height;
|
||||
box_y2 = pSrcDrawable->y + (int) pSrcDrawable->height;
|
||||
fastExpose = FALSE;
|
||||
}
|
||||
|
||||
/* Translate and clip the dst to the destination composite clip */
|
||||
box.x1 -= dx;
|
||||
box.x2 -= dx;
|
||||
box.y1 -= dy;
|
||||
box.y2 -= dy;
|
||||
box_x1 -= dx;
|
||||
box_x2 -= dx;
|
||||
box_y1 -= dy;
|
||||
box_y2 -= dy;
|
||||
|
||||
/* If the destination composite clip is one rectangle we can
|
||||
do the clip directly. Otherwise we have to create a full
|
||||
|
@ -520,21 +523,26 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
|||
{
|
||||
BoxPtr pBox = REGION_RECTS(cclip);
|
||||
|
||||
if (box.x1 < pBox->x1) box.x1 = pBox->x1;
|
||||
if (box.x2 > pBox->x2) box.x2 = pBox->x2;
|
||||
if (box.y1 < pBox->y1) box.y1 = pBox->y1;
|
||||
if (box.y2 > pBox->y2) box.y2 = pBox->y2;
|
||||
if (box_x1 < pBox->x1) box_x1 = pBox->x1;
|
||||
if (box_x2 > pBox->x2) box_x2 = pBox->x2;
|
||||
if (box_y1 < pBox->y1) box_y1 = pBox->y1;
|
||||
if (box_y2 > pBox->y2) box_y2 = pBox->y2;
|
||||
fastDst = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* Check to see if the region is empty */
|
||||
if (box.x1 >= box.x2 || box.y1 >= box.y2)
|
||||
if (box_x1 >= box_x2 || box_y1 >= box_y2)
|
||||
{
|
||||
REGION_NULL(pGC->pScreen, &rgnDst);
|
||||
}
|
||||
else
|
||||
{
|
||||
BoxRec box;
|
||||
box.x1 = box_x1;
|
||||
box.y1 = box_y1;
|
||||
box.x2 = box_x2;
|
||||
box.y2 = box_y2;
|
||||
REGION_INIT(pGC->pScreen, &rgnDst, &box, 1);
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
|
@ -32,9 +32,7 @@
|
|||
promote the sale, use or other dealings in this Software without
|
||||
prior written authorization.
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartzKeyboard.c,v 1.1 2003/11/01 08:13:08 torrey Exp $ */
|
||||
|
||||
#ifdef HAS_KL_API
|
||||
/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartzKeyboard.c,v 1.2 2004/01/19 01:22:47 torrey Exp $ */
|
||||
|
||||
#include "quartzCommon.h"
|
||||
|
||||
|
@ -45,6 +43,8 @@
|
|||
#include "keysym.h"
|
||||
#include "keysym2ucs.h"
|
||||
|
||||
#ifdef HAS_KL_API
|
||||
|
||||
#define HACK_MISSING 1
|
||||
#define HACK_KEYPAD 1
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86.h,v 3.172 2003/09/24 02:43:16 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86.h,v 3.173 2004/01/27 01:31:44 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||
|
@ -57,7 +57,6 @@ extern int xf86PixmapIndex;
|
|||
extern Bool xf86ResAccessEnter;
|
||||
extern ScrnInfoPtr *xf86Screens; /* List of pointers to ScrnInfoRecs */
|
||||
extern const unsigned char byte_reversed[256];
|
||||
extern PropertyPtr *xf86RegisteredPropertiesTable;
|
||||
extern ScrnInfoPtr xf86CurrentScreen;
|
||||
extern Bool pciSlotClaimed;
|
||||
extern Bool isaSlotClaimed;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Globals.c,v 1.41 2003/08/24 17:36:52 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Globals.c,v 1.42 2004/01/27 01:31:44 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||
|
@ -236,7 +236,7 @@ Bool xf86VidModeAllowNonLocal = FALSE;
|
|||
Bool xf86MiscModInDevDisabled = FALSE;
|
||||
Bool xf86MiscModInDevAllowNonLocal = FALSE;
|
||||
#endif
|
||||
PropertyPtr *xf86RegisteredPropertiesTable = NULL;
|
||||
RootWinPropPtr *xf86RegisteredPropertiesTable = NULL;
|
||||
Bool xf86inSuspend = FALSE;
|
||||
|
||||
#ifdef DLOPEN_HACK
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Helper.c,v 1.135 2003/10/08 14:58:27 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Helper.c,v 1.136 2004/01/27 01:31:45 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||
|
@ -2888,11 +2888,12 @@ int
|
|||
xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
||||
int format, unsigned long len, pointer value )
|
||||
{
|
||||
PropertyPtr pNewProp, pRegProp;
|
||||
RootWinPropPtr pNewProp = NULL, pRegProp;
|
||||
int i;
|
||||
Bool existing = FALSE;
|
||||
|
||||
#ifdef DEBUG
|
||||
ErrorF("xf86RegisterRootWindowProperty(%d, %d, %d, %d, %d, %p)\n",
|
||||
ErrorF("xf86RegisterRootWindowProperty(%d, %ld, %ld, %d, %ld, %p)\n",
|
||||
ScrnIndex, property, type, format, len, value);
|
||||
#endif
|
||||
|
||||
|
@ -2900,19 +2901,35 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
|||
return(BadMatch);
|
||||
}
|
||||
|
||||
if ( (pNewProp = (PropertyPtr)xalloc(sizeof(PropertyRec)))==NULL ) {
|
||||
return(BadAlloc);
|
||||
if (xf86RegisteredPropertiesTable &&
|
||||
xf86RegisteredPropertiesTable[ScrnIndex]) {
|
||||
for (pNewProp = xf86RegisteredPropertiesTable[ScrnIndex];
|
||||
pNewProp; pNewProp = pNewProp->next) {
|
||||
if (strcmp(pNewProp->name, NameForAtom(property)) == 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
pNewProp->propertyName = property;
|
||||
if (!pNewProp) {
|
||||
if ((pNewProp = (RootWinPropPtr)xalloc(sizeof(RootWinProp))) == NULL) {
|
||||
return(BadAlloc);
|
||||
}
|
||||
/*
|
||||
* We will put this property at the end of the list so that
|
||||
* the changes are made in the order they were requested.
|
||||
*/
|
||||
pNewProp->next = NULL;
|
||||
} else {
|
||||
if (pNewProp->name)
|
||||
xfree(pNewProp->name);
|
||||
existing = TRUE;
|
||||
}
|
||||
|
||||
pNewProp->name = xnfstrdup(NameForAtom(property));
|
||||
pNewProp->type = type;
|
||||
pNewProp->format = format;
|
||||
pNewProp->size = len;
|
||||
pNewProp->data = value;
|
||||
/* We will put this property at the end of the list so that
|
||||
* the changes are made in the order they were requested.
|
||||
*/
|
||||
pNewProp->next = NULL;
|
||||
|
||||
#ifdef DEBUG
|
||||
ErrorF("new property filled\n");
|
||||
|
@ -2923,7 +2940,7 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
|||
ErrorF("creating xf86RegisteredPropertiesTable[] size %d\n",
|
||||
xf86NumScreens);
|
||||
#endif
|
||||
if ( NULL==(xf86RegisteredPropertiesTable=(PropertyPtr*)xnfcalloc(sizeof(PropertyPtr),xf86NumScreens) )) {
|
||||
if ( NULL==(xf86RegisteredPropertiesTable=(RootWinPropPtr*)xnfcalloc(sizeof(RootWinProp),xf86NumScreens) )) {
|
||||
return(BadAlloc);
|
||||
}
|
||||
for (i=0; i<xf86NumScreens; i++) {
|
||||
|
@ -2933,23 +2950,25 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
|||
|
||||
#ifdef DEBUG
|
||||
ErrorF("xf86RegisteredPropertiesTable %p\n",
|
||||
xf86RegisteredPropertiesTable);
|
||||
(void *)xf86RegisteredPropertiesTable);
|
||||
ErrorF("xf86RegisteredPropertiesTable[%d] %p\n",
|
||||
ScrnIndex, xf86RegisteredPropertiesTable[ScrnIndex]);
|
||||
ScrnIndex, (void *)xf86RegisteredPropertiesTable[ScrnIndex]);
|
||||
#endif
|
||||
|
||||
if (!existing) {
|
||||
if ( xf86RegisteredPropertiesTable[ScrnIndex] == NULL) {
|
||||
xf86RegisteredPropertiesTable[ScrnIndex] = pNewProp;
|
||||
} else {
|
||||
pRegProp = xf86RegisteredPropertiesTable[ScrnIndex];
|
||||
while (pRegProp->next != NULL) {
|
||||
#ifdef DEBUG
|
||||
ErrorF("- next %p\n", pRegProp);
|
||||
ErrorF("- next %p\n", (void *)pRegProp);
|
||||
#endif
|
||||
pRegProp = pRegProp->next;
|
||||
}
|
||||
pRegProp->next = pNewProp;
|
||||
}
|
||||
}
|
||||
#ifdef DEBUG
|
||||
ErrorF("xf86RegisterRootWindowProperty succeeded\n");
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Init.c,v 3.211 2003/11/01 00:47:01 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Init.c,v 3.212 2004/01/27 01:31:45 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Loosely based on code bearing the following copyright:
|
||||
|
@ -155,7 +155,7 @@ xf86CreateRootWindow(WindowPtr pWin)
|
|||
int ret = TRUE;
|
||||
int err = Success;
|
||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||
PropertyPtr pRegProp, pOldRegProp;
|
||||
RootWinPropPtr pProp;
|
||||
CreateWindowProcPtr CreateWindow =
|
||||
(CreateWindowProcPtr)(pScreen->devPrivates[xf86CreateRootWindowIndex].ptr);
|
||||
|
||||
|
@ -181,25 +181,19 @@ xf86CreateRootWindow(WindowPtr pWin)
|
|||
}
|
||||
|
||||
/* Now do our stuff */
|
||||
|
||||
if (xf86RegisteredPropertiesTable != NULL) {
|
||||
if (pWin->parent == NULL && xf86RegisteredPropertiesTable != NULL) {
|
||||
for (pRegProp = xf86RegisteredPropertiesTable[pScreen->myNum];
|
||||
pRegProp != NULL && err==Success;
|
||||
pRegProp = pRegProp->next )
|
||||
for (pProp = xf86RegisteredPropertiesTable[pScreen->myNum];
|
||||
pProp != NULL && err==Success;
|
||||
pProp = pProp->next )
|
||||
{
|
||||
Atom oldNameAtom = pRegProp->propertyName;
|
||||
char *nameString;
|
||||
/* propertyName was created before the screen existed,
|
||||
* so the atom does not belong to any screen;
|
||||
* we need to create a new atom with the same name.
|
||||
*/
|
||||
nameString = NameForAtom(oldNameAtom);
|
||||
pRegProp->propertyName = MakeAtom(nameString, strlen(nameString), TRUE);
|
||||
Atom prop;
|
||||
|
||||
prop = MakeAtom(pProp->name, strlen(pProp->name), TRUE);
|
||||
err = ChangeWindowProperty(pWin,
|
||||
pRegProp->propertyName, pRegProp->type,
|
||||
pRegProp->format, PropModeReplace,
|
||||
pRegProp->size, pRegProp->data,
|
||||
prop, pProp->type,
|
||||
pProp->format, PropModeReplace,
|
||||
pProp->size, pProp->data,
|
||||
FALSE
|
||||
);
|
||||
}
|
||||
|
@ -207,14 +201,6 @@ xf86CreateRootWindow(WindowPtr pWin)
|
|||
/* Look at err */
|
||||
ret &= (err==Success);
|
||||
|
||||
/* free memory */
|
||||
pOldRegProp = xf86RegisteredPropertiesTable[pScreen->myNum];
|
||||
while (pOldRegProp!=NULL) {
|
||||
pRegProp = pOldRegProp->next;
|
||||
xfree(pOldRegProp);
|
||||
pOldRegProp = pRegProp;
|
||||
}
|
||||
xf86RegisteredPropertiesTable[pScreen->myNum] = NULL;
|
||||
} else {
|
||||
xf86Msg(X_ERROR, "xf86CreateRootWindow unexpectedly called with "
|
||||
"non-root window %p (parent %p)\n",
|
||||
|
@ -303,7 +289,6 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
|
|||
xf86ScreenIndex = AllocateScreenPrivateIndex();
|
||||
xf86CreateRootWindowIndex = AllocateScreenPrivateIndex();
|
||||
xf86PixmapIndex = AllocatePixmapPrivateIndex();
|
||||
xf86RegisteredPropertiesTable=NULL;
|
||||
generation = serverGeneration;
|
||||
}
|
||||
|
||||
|
@ -749,6 +734,32 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
|
|||
}
|
||||
formatsDone = TRUE;
|
||||
|
||||
if (xf86Info.vtno >= 0 ) {
|
||||
#define VT_ATOM_NAME "XFree86_VT"
|
||||
Atom VTAtom=-1;
|
||||
CARD32 *VT = NULL;
|
||||
int ret;
|
||||
|
||||
/* This memory needs to stay available until the screen has been
|
||||
initialized, and we can create the property for real.
|
||||
*/
|
||||
if ( (VT = xalloc(sizeof(CARD32)))==NULL ) {
|
||||
FatalError("Unable to make VT property - out of memory. Exiting...\n");
|
||||
}
|
||||
*VT = xf86Info.vtno;
|
||||
|
||||
VTAtom = MakeAtom(VT_ATOM_NAME, sizeof(VT_ATOM_NAME), TRUE);
|
||||
|
||||
for (i = 0, ret = Success; i < xf86NumScreens && ret == Success; i++) {
|
||||
ret = xf86RegisterRootWindowProperty(xf86Screens[i]->scrnIndex,
|
||||
VTAtom, XA_INTEGER, 32,
|
||||
1, VT );
|
||||
if (ret != Success)
|
||||
xf86DrvMsg(xf86Screens[i]->scrnIndex, X_WARNING,
|
||||
"Failed to register VT property\n");
|
||||
}
|
||||
}
|
||||
|
||||
/* If a screen uses depth 24, show what the pixmap format is */
|
||||
for (i = 0; i < xf86NumScreens; i++) {
|
||||
if (xf86Screens[i]->depth == 24) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Priv.h,v 3.82 2003/09/09 03:20:36 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Priv.h,v 3.83 2004/01/27 01:31:45 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2002 by The XFree86 Project, Inc.
|
||||
|
@ -113,6 +113,8 @@ extern int xf86LogVerbose; /* log file verbosity level */
|
|||
extern Bool xf86ProbeOnly;
|
||||
extern Bool xf86DoProbe;
|
||||
|
||||
extern RootWinPropPtr *xf86RegisteredPropertiesTable;
|
||||
|
||||
#ifndef DEFAULT_VERBOSE
|
||||
#define DEFAULT_VERBOSE 0
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Privstr.h,v 1.40 2003/10/17 20:02:12 alanh Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Privstr.h,v 1.41 2004/01/27 01:31:45 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||
|
@ -198,6 +198,16 @@ typedef struct {
|
|||
} VidModeRec, *VidModePtr;
|
||||
#endif
|
||||
|
||||
/* Information for root window properties. */
|
||||
typedef struct _RootWinProp {
|
||||
struct _RootWinProp * next;
|
||||
char * name;
|
||||
Atom type;
|
||||
short format;
|
||||
long size;
|
||||
pointer data;
|
||||
} RootWinProp, *RootWinPropPtr;
|
||||
|
||||
/* private resource types */
|
||||
#define ResNoAvoid ResBios
|
||||
|
||||
|
|
|
@ -987,23 +987,28 @@ earlier in this document.
|
|||
|
||||
The `X-TrueType' backend is a backend based on version 1 of the FreeType
|
||||
library. X-TrueType doesn't use the `fontenc' layer for managing font encod-
|
||||
ings, but instead uses its own database of encodings. Since the functionali-
|
||||
ties for CJKV support introduced by X-TT have been merged into the new
|
||||
FreeType backend, the X-TT backend will be removed from XFree86's tree near
|
||||
the future. Therefore, the use of FreeType backend is preferred over the X-
|
||||
TT backend. General information on X-TrueType may be found at ."
|
||||
ings, but instead uses its own database of encodings.
|
||||
|
||||
Since the functionalities for CJKV support introduced by X-TT have been
|
||||
merged into the new FreeType backend, the X-TT backend will be removed from
|
||||
XFree86's tree near the future. Therefore, the use of FreeType backend is
|
||||
preferred over the X-TT backend.
|
||||
|
||||
General information on X-TrueType may be found at the After X-TT Project page
|
||||
<URL:http://x-tt.sourceforge.jp/>.
|
||||
|
||||
4.2.3 Delayed glyph rasterisation
|
||||
|
||||
When loading a large character set, the old FreeType delayed glyph rasterisa-
|
||||
tion until the time at which the glyph was first used. The new FreeType
|
||||
(libfreetype-xtt2) has an improved `very lazy' metric calculation method to
|
||||
speed up the process when loading TrueType or OpenType fonts. Although the
|
||||
X-TT module also has this method, the "vl=y" TTCap option must be set if you
|
||||
want to use it. This is the default method for FreeType when it loads multi-
|
||||
byte fonts. Even if you use a unicode font which has tens of thousands of
|
||||
glyphs, this delay will not be worrisome as long as you use the new FreeType
|
||||
backend -- its `very lazy' method is super-fast.
|
||||
When loading a proportional fonts which contain a huge number of glyphs, the
|
||||
old FreeType delayed glyph rasterisation until the time at which the glyph
|
||||
was first used. The new FreeType (libfreetype-xtt2) has an improved `very
|
||||
lazy' metric calculation method to speed up the process when loading TrueType
|
||||
or OpenType fonts. Although the X-TT module also has this method, the
|
||||
"vl=y" TTCap option must be set if you want to use it. This is the default
|
||||
method for FreeType when it loads multi-byte fonts. Even if you use a uni-
|
||||
code font which has tens of thousands of glyphs, this delay will not be wor-
|
||||
risome as long as you use the new FreeType backend -- its `very lazy' method
|
||||
is super-fast.
|
||||
|
||||
The maximum error of bitmap position using `very lazy' method is 1 pixel, and
|
||||
is the same as that of a character-cell spacing. When the X-TT backend is
|
||||
|
@ -1176,7 +1181,7 @@ The IANA RFC documents, available from a number of sites throughout the
|
|||
world, often provide interesting information about character set issues; see
|
||||
for example RFC 373.
|
||||
|
||||
Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml,v 1.23 dawes Exp $
|
||||
Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml,v 1.24 dawes Exp $
|
||||
|
||||
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.fonts,v 1.27 2003/11/24 01:57:56 dawes Exp $
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.fonts,v 1.28 2003/12/20 19:47:28 dawes Exp $
|
||||
|
|
|
@ -1,4 +1,204 @@
|
|||
XFree86 4.3.99.903 (xx December 2003)
|
||||
XFree86 4.3.99.903 (xx January 2004)
|
||||
775. Fix a timing problem in the nsc driver that prevents the display from
|
||||
working in some cases (Bugzilla #840, Hansruedi Glauser, Alan Hourihane).
|
||||
774. Via driver workaround to handle setting WC for the video memory when
|
||||
initially only part of it has WC set (Bugzilla #1010 Thomas Hellström).
|
||||
773. Fix the XAA clipping flags for the via driver, which fixes a line
|
||||
drawing problem seen with OpenOffice Calc (Bugzilla #1026,
|
||||
Thomas Hellström).
|
||||
772. HKSCS and GB18030 support for luit (Bugzilla #1048, Zarick Lau).
|
||||
771. Fix some remaining memory allocation related problems with the via
|
||||
driver (Bugzilla #998, Thomas Hellström).
|
||||
770. Add a UseRpath build switch to allow the use of -rpath to be enabled
|
||||
or disabled from the host.def file. Implemented for *BSD, Hurd, Linux.
|
||||
The default settings remains as before (David Dawes).
|
||||
769. Add a root window property called XFree86_VT that holds the VT number
|
||||
that the XFree86 server is running on (Andrew Aitcheson, suggested by
|
||||
Samuel Thibault).
|
||||
768. Fix a problem where root window properties registered with
|
||||
xf86RegisterRootWindowProperty() are not re-registered after server
|
||||
regeneration (David Dawes, reported by Samuel Thibault).
|
||||
767. Fix xtest failures for the savage driver's zero width lines by
|
||||
removing the TwoPointLine and using only the Bresenham version
|
||||
(reported by Nicolas Joly).
|
||||
766. Fix refresh rate setting for 845G/856G systems that don't support the
|
||||
Intel-specific refresh rate BIOS calls (Bugzilla #1106, David Dawes,
|
||||
reported by Lucian Precup).
|
||||
765. Fixes/build updates for BSD/OS 5.1 and 4.3.1 (Bugzilla #1111, Kurt Lidl).
|
||||
764. Fix a problem in libXmu's FindChildren() that can cause a crash by
|
||||
copying memory from outside the bounds of an array (Bugzilla #1109,
|
||||
John Tillman).
|
||||
763. Add missing TimerCallback in trident_video.c to shutdown the video.
|
||||
This could account for many peoples lockups with video on Trident chips.
|
||||
Also, add a Wait for vsync when programming video modes to avoid lockups.
|
||||
(Yukun Chen, Alan Hourihane).
|
||||
762. Fix a lockup problem on Trident Blade3D engines by permanently turning
|
||||
on PCI Retry. Also sync the engine on CloseScreen and LeaveVT.
|
||||
(Yukun Chen, Alan Hourihane).
|
||||
761. Fix getaddrinfo() return value check in SmsGenerateClientID() that was
|
||||
causing a crash when the current hostname is unresolved, and returning
|
||||
a NULL id otherwise (Bugzilla #1096, David Dawes).
|
||||
760. Support automatic configuration of the X server on OpenBSD with
|
||||
wsmouse-supported mices. (Matthieu Herrb).
|
||||
759. Updates for XKB keyboard maps:
|
||||
- Add Tibetan/Dzongkha keyboard layout (Bugzilla #1082, Gregory Mokhin).
|
||||
- Add three new Internet/multimedia keyboard descriptions
|
||||
(Bugzilla #1088, Radics Laszlo).
|
||||
758. Add overlooked SecondaryColor entries to AppleDRI indirect dispatch
|
||||
table (Torrey T. Lyons).
|
||||
757. Allocate pBIOSInfo->UserSetting in the via driver, which fixes a crash
|
||||
(James Harris).
|
||||
756. Fix Linux drm kernel modules to handle the nopage() prototype change in
|
||||
Linux 2.6.1 (Michel Dänzer, from DRI CVS).
|
||||
755. Fix use of dynamic xcursors on OS/2 (Bugzilla #1087, Frank Giessler).
|
||||
754. Fix the fbdev driver so that it allows 24-bit pixel size, and disable
|
||||
the RandR extension when rotation is enabled (Jonathan Thambidurai).
|
||||
753. Rendition driver fixes:
|
||||
- Fix the mode size limits so that the set of modes that the driver
|
||||
accepts isn't unnecessarily restricted.
|
||||
- Fix color palette refreshing after VT switching.
|
||||
- Fix a core dump at server exit with the hardware cursor was enabled.
|
||||
- Add checking for supported depths. Without this the server could
|
||||
crash if an unsupported depth was specified.
|
||||
(Eric Wittry)
|
||||
752. Update XKB registry file rules/xfree86.xml (Sergey Oudaltsov).
|
||||
751. Fix some rules in en_US.UTF-8 Compose file (Bugzilla #1071,
|
||||
Matthew Fischer).
|
||||
750. Add some content (supported hardware and driver options) to the tdfx(4)
|
||||
man page (Bugzilla #1068, Nicolas Joly).
|
||||
749. Make '-pn' (partial network) the default for all X servers, and document
|
||||
the '-nopn' option (David Dawes).
|
||||
748. Allow rstartd.real to be installed into a location other than LIBDIR
|
||||
(#6034, Luke Mewburn).
|
||||
747. Allow xdm's chooser to be installed into a directory other than LIBDIR
|
||||
(#6033, Luke Mewburn).
|
||||
746. Add XKB description for the Logitech Access keyboard (#6026,
|
||||
Michael Geddes).
|
||||
745. Fix typo in computing xterm's relative font size (Jess Thrysoee).
|
||||
744. Fix typo in savage man page (Bugzilla #1065, Nicolas Joly).
|
||||
743. Fix for xf86Msg() call with swapped arguments (Bugzilla #1064,
|
||||
Nicolas Joly).
|
||||
742. Set the dependencies correctly for SCO shared libraries, and use gcc
|
||||
for linking instead of ld (Bugzilla #1045, Kean Johnston).
|
||||
741. Some cleanups for the SCO support, and a few changes required for
|
||||
compilation on UnixWare (Bugzilla #1045, Kean Johnston).
|
||||
740. Make the X server lock file code treat the display string in the same
|
||||
way as the local listener code (i.e., convert it to an integer then back
|
||||
to a string). This fixes a problem where an non-numeric display
|
||||
argument could cause a second server to be started on display :0,
|
||||
replacing the local listener nodes for the original server.
|
||||
(Bugzilla #1056, David Dawes, reported by Robin Schoonover).
|
||||
739. Fix xfs and xdm core dumps in BecomeOrphan(), and rework/simplify
|
||||
the BecomeDaemon() code (Bugzilla #1060, #1074, David Dawes,
|
||||
reported by Martin Birgmeier).
|
||||
738. Add a "VBERestore" option for the i830 part of the i810 driver, to
|
||||
allow the VBE restore bug workaround to be disabled. This is needed
|
||||
for correct text mode restoration on some 830M-based machines
|
||||
(David Dawes, reported by Martin van Es).
|
||||
737. Fix memory leak when list of registered renderers are cleared at the
|
||||
start of each new server generation (Kevin Martin and Rik Faith).
|
||||
736. Fix memory double freeing at XIM destroying in imLcIm.c (Ivan Pascal,
|
||||
reported: Bugzilla #1015).
|
||||
735. Add xkb keymap for Microsoft Mutimedia Keyboard keys (Bugzilla #1052,
|
||||
Jacques Legare).
|
||||
734. Update Compose file for en_US.UTF-8 locale (Bugzilla #1053,
|
||||
Matthew Fischer) and fix wrong comment signs there (Ivan Pascal).
|
||||
733. VIA driver fixes:
|
||||
- Restructure the via driver's cache allocation to work with both
|
||||
the VIA and new open DRI module, and remove the now unneeded
|
||||
version check (Thomas Hellström, Alan Cox, bugzilla #998).
|
||||
- Remove special case lindvd hack (Alan Cox)
|
||||
- Add support for Xv when unaccelerated (Thomas Hellström)
|
||||
(Bugzilla #998, #1020, #1021).
|
||||
732. Check for a NULL argument in XSetICFocus() before dereferencing it.
|
||||
This fixes crashes with some XIM software (see
|
||||
http://bugzilla.mozilla.gr.jp/show_bug.cgi?id=2961#c19).
|
||||
731. Improve the i810 bitblt bug workaround, and re-enable the pixmap cache
|
||||
at depth 24 (David Dawes).
|
||||
730. Workaround for lockup at mode switch with an i810 (David Dawes).
|
||||
729. Fix transparent mono 8x8 pattern fills for the i810 (David Dawes).
|
||||
728. Disable XKB by default in XDarwin (Torrey T. Lyons).
|
||||
727. Fix manpage build warnings on Panther (Matthieu Herrb).
|
||||
726. Make sure that the ring buffer is flushed in I810CloseScreen(). This
|
||||
fixes unpredictable behaviour that sometimes shows up after server
|
||||
exit/restart or server reset, including memory corruption, spontaneous
|
||||
reboots, etc, and some odd xtest behaviour (David Dawes).
|
||||
725. Xdmcp fixes for IPv6 and mixed IPv6/IPv4 operation. (Mario Klebsch,
|
||||
Matthieu Herrb).
|
||||
724. Update rman by merging XFree86 changes to rman 3.2 (Thomas Dickey).
|
||||
723. Create fonts.scale and fonts.dir files in the target directories at
|
||||
'make install' time. This fixes several problems where some font
|
||||
entries get left out (David Dawes).
|
||||
722. Add the Bitstream Vera fonts (Bitstream, Inc and The Gnome Project).
|
||||
721. Xterm patches #183, #184 (Thomas Dickey).
|
||||
720. Build fix for the Chips driver on Linux/arm (#6011, Michel Dänzer and
|
||||
Othmar Pasteka).
|
||||
719. Change v4l "norm" names to the bttv versions (#5993,
|
||||
Marco Antonio Alvarez).
|
||||
718. Fix for symbols/hr map (#5991, Vlatko Kosturjak).
|
||||
717. The current VIA DRI driver isn't remotely compatible with the current
|
||||
code, so make sure it isn't loaded by requiring version 2.0.0 or later
|
||||
(Alan Cox).
|
||||
716. Fix VIA KM400 memory detection (Luc Verhaegen, Bugzilla #813).
|
||||
715. Fix a long standing VIA Xv problem with totem/xine and YUV surface
|
||||
types (Uberto Barbini).
|
||||
714. VIA driver updates/fixes:
|
||||
- Remove HARDWARE_NEEDS_PROGRAMMED_ORIGIN (Bugzilla #1011).
|
||||
- Allocate the UserSetting structure and use it. Changed the names so
|
||||
its uses can be tracked through the tree (Bugzilla #1006, #1014).
|
||||
- Remove dead FIFO handling code.
|
||||
- Clean up formatting in via_bios.h, via_driver.h.
|
||||
- via_tuner module (1/2 of Bugzilla #1012, #1013):
|
||||
+ Add via_tuner structures and methods.
|
||||
+ Handle the back end work for boards with Philips SAA71xx
|
||||
devices on the I2C bus providing one or two TV overlays.
|
||||
+ Handle CXA2104S audio decoder if present.
|
||||
+ Handle FI1236 TV tuners if present.
|
||||
- Remove bogus DriverVersion, DriverName stuff.
|
||||
- Xv updates (Bugzilla #1013):
|
||||
+ Remove DDR mode tables and compute supported overlay modes properly.
|
||||
+ Remove various bits of dead code.
|
||||
+ Probe for Tuners in the Xv setup.
|
||||
+ Don't advertise XvImageMask on the tuner overlays - they can't do it.
|
||||
+ Clean up tuner channel computation.
|
||||
+ Make the property setting code use the via_tuner backend.
|
||||
+ Fix formatting of the various YUV copying loops.
|
||||
(Alan Cox).
|
||||
713. Add a missing code for jisx0208.1990-0.enc (Chisato Yamauchi).
|
||||
712. Xtt2 update: Restore the behaviour of "bw" TTCap option for Netscape 4.x.
|
||||
(Chisato Yamauchi).
|
||||
711. Fix neomagic driver default mode selection to match the detected
|
||||
panel size. This allows it to work correctly with automatic
|
||||
configuration (David Dawes).
|
||||
710. Fixes and updates for XKB keyboard maps:
|
||||
- Fix Armenian phonetic keymap (Bugzilla #1016, Ani).
|
||||
- Fix rules for Brasilian ABNT2 keyboard (Ricardo Y. Igarashi).
|
||||
- Add Shift+CapsLock group switcher (Ivan Pascal, see Bugzilla #1025).
|
||||
- Update rules/xfree86.lst with missing descriptions (Ivan Pascal).
|
||||
709. Build fix for Solaris Express (Bugzilla #1032, Alan Coopersmith).
|
||||
708. Fix warning in lib/Xt/Alloc.c (Bugzilla #1035, Nicolas Joly).
|
||||
707. Fix short overflow problem with box clipping in fb/fbcopy.c
|
||||
(Bugzilla #978, Stephen McCamant).
|
||||
706. Fix logic in xterm's get_pty() for platforms where old-style pty's are
|
||||
preferred to /dev/ptmx (Bugzilla #997, Kean Johnston, Thomas Dickey).
|
||||
705. Fix handling of eightBitInput for UTF-8 locales in xterm (Thomas Dickey).
|
||||
704. Merge recent cygwin-related changes from freedesktop.org's config/cf
|
||||
(Thomas Dickey).
|
||||
703. Disable Xv in the via driver when acceleration is disabled (Alan Cox).
|
||||
702. Fix bugs caused by empty PCI buses on ZX1-based systems (Marc La France).
|
||||
701. Fix optional save/restore of BIOS area data in int10 module
|
||||
(Marc La France).
|
||||
700. Update Swedish localization of XDarwin GUI (Patrik Montgomery).
|
||||
699. Fixes to build/run on cygwin (Thomas Dickey). This includes a workaround
|
||||
for _XtInherit by Ralf Habacker, needed to run applications such as xman.
|
||||
698. Warning fixes for gcc 3.3.2 (Marc La France).
|
||||
697. Fix file descriptor leaks in xdm (Marc La France).
|
||||
696. Fix memory leaks in libFS (Marc La France).
|
||||
695. Security fix: change xdm to use mkstemp(), where available, instead of
|
||||
mktemp() (Marc La France).
|
||||
694. Update XKB registry file rules/xfree86.xml (Sergey Oudaltsov).
|
||||
693. Fix for FreeType-related crash when attempting to draw a missing glyph
|
||||
with constant-width fonts (Chisato Yamauchi).
|
||||
|
||||
XFree86 4.3.99.902 (18 December 2003)
|
||||
672. Fixes for xterm (Thomas Dickey):
|
||||
|
@ -18391,7 +18591,7 @@ XFree86 3.0a (28 April 1994)
|
|||
XFree86 3.0 (26 April 1994)
|
||||
|
||||
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.3043 2003/12/19 04:52:08 dawes Exp $
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.3118 2004/01/27 17:31:54 dawes Exp $
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -25,9 +25,9 @@
|
|||
|
||||
<article>
|
||||
|
||||
<title>XFree86 X server ``New Design'' (DRAFT)
|
||||
<title>XFree86 server 4.x Design (DRAFT)
|
||||
<author>The XFree86 Project, Inc
|
||||
<date>Last modified 2003 January 22
|
||||
<date>19 December 2003
|
||||
|
||||
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
|||
|
||||
|
||||
<ident>
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.53 2003/08/23 14:10:14 dawes Exp $
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.54 2003/12/19 20:38:57 dawes Exp $
|
||||
</ident>
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/helper_exec.c,v 1.26 2003/11/06 18:38:12 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/helper_exec.c,v 1.27 2003/12/23 22:32:38 tsi Exp $ */
|
||||
/*
|
||||
* XFree86 int10 module
|
||||
* execute BIOS int 10h calls in x86 real mode environment
|
||||
|
@ -56,7 +56,7 @@ setup_int(xf86Int10InfoPtr pInt)
|
|||
X86_GS = 0;
|
||||
X86_EFLAGS = X86_IF_MASK | X86_IOPL_MASK;
|
||||
#if defined (_PC)
|
||||
if (pInt->flags & SET_BIOS_SCRATCH)
|
||||
if (pInt->Flags & SET_BIOS_SCRATCH)
|
||||
SetResetBIOSVars(pInt, TRUE);
|
||||
#endif
|
||||
return xf86BlockSIGIO();
|
||||
|
@ -76,7 +76,7 @@ finish_int(xf86Int10InfoPtr pInt, int sig)
|
|||
pInt->bp = (CARD32) X86_EBP;
|
||||
pInt->flags = (CARD32) X86_FLAGS;
|
||||
#if defined (_PC)
|
||||
if (pInt->flags & RESTORE_BIOS_SCRATCH)
|
||||
if (pInt->Flags & RESTORE_BIOS_SCRATCH)
|
||||
SetResetBIOSVars(pInt, FALSE);
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/coffloader.c,v 1.21 2003/10/15 17:40:15 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/coffloader.c,v 1.22 2003/12/22 17:48:11 tsi Exp $ */
|
||||
|
||||
/*
|
||||
*
|
||||
|
@ -133,7 +133,9 @@ static COFFCommonPtr COFFAddCOMMON(SYMENT *, int);
|
|||
static LOOKUP *COFFCreateCOMMON(COFFModulePtr);
|
||||
static COFFRelocPtr COFFDelayRelocation(COFFModulePtr, int, RELOC *);
|
||||
static SYMENT *COFFGetSymbol(COFFModulePtr, int);
|
||||
#if defined(i386) || defined(__powerpc__)
|
||||
static unsigned char *COFFGetSymbolValue(COFFModulePtr, int);
|
||||
#endif
|
||||
static COFFRelocPtr COFF_RelocateEntry(COFFModulePtr, int, RELOC *);
|
||||
static LOOKUP *COFF_GetSymbols(COFFModulePtr);
|
||||
static void COFFCollectSections(COFFModulePtr);
|
||||
|
@ -298,6 +300,7 @@ COFFGetSymbol(COFFModulePtr file, int index)
|
|||
return (SYMENT *) (((unsigned char *)file->symtab) + (index * SYMESZ));
|
||||
}
|
||||
|
||||
#if defined(i386) || defined(__powerpc__)
|
||||
static unsigned char *
|
||||
COFFGetSymbolValue(COFFModulePtr cofffile, int index)
|
||||
{
|
||||
|
@ -323,6 +326,7 @@ COFFGetSymbolValue(COFFModulePtr cofffile, int index)
|
|||
xf86loaderfree(symname);
|
||||
return symval;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(__powerpc__)
|
||||
/*
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/fontsym.c,v 1.13 2003/10/15 16:29:04 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/fontsym.c,v 1.14 2003/12/20 20:04:34 dawes Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1998-2002 by The XFree86 Project, Inc.
|
||||
*
|
||||
|
@ -37,8 +37,10 @@
|
|||
#include "fntfil.h"
|
||||
#include "fontutil.h"
|
||||
#include "fontxlfd.h"
|
||||
#ifdef FONTCACHE
|
||||
#define _FONTCACHE_SERVER_
|
||||
#include "fontcache.h"
|
||||
#endif
|
||||
|
||||
LOOKUP fontLookupTab[] = {
|
||||
|
||||
|
@ -89,6 +91,7 @@ LOOKUP fontLookupTab[] = {
|
|||
SYMFUNC(identifyEncodingFile)
|
||||
#endif
|
||||
|
||||
#ifdef FONTCACHE
|
||||
/* fontcache.c */
|
||||
SYMFUNC(FontCacheGetSettings)
|
||||
SYMFUNC(FontCacheGetStatistics)
|
||||
|
@ -99,6 +102,7 @@ LOOKUP fontLookupTab[] = {
|
|||
SYMFUNC(FontCacheGetEntry)
|
||||
SYMFUNC(FontCacheInsertEntry)
|
||||
SYMFUNC(FontCacheGetBitmap)
|
||||
#endif
|
||||
|
||||
{0, 0}
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.5 2003/04/03 16:50:04 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.6 2003/12/30 15:18:30 herrb Exp $ */
|
||||
/*
|
||||
* Copyright 1992 by Rich Murphey <Rich@Rice.edu>
|
||||
* Copyright 1993 by David Wexelblat <dwex@goblin.org>
|
||||
|
@ -121,7 +121,7 @@ static struct alpha_bus_window *abw;
|
|||
static int abw_count = -1;
|
||||
|
||||
static void
|
||||
init_abw()
|
||||
init_abw(void)
|
||||
{
|
||||
if (abw_count < 0) {
|
||||
abw_count = alpha_bus_getwindows(ALPHA_BUS_TYPE_PCI_MEM, &abw);
|
||||
|
@ -142,7 +142,7 @@ has_bwx(void)
|
|||
}
|
||||
|
||||
static unsigned long
|
||||
dense_base()
|
||||
dense_base(void)
|
||||
{
|
||||
if (abw_count < 0)
|
||||
init_abw();
|
||||
|
@ -154,7 +154,7 @@ dense_base()
|
|||
}
|
||||
|
||||
static unsigned long
|
||||
memory_base()
|
||||
memory_base(void)
|
||||
{
|
||||
if (abw_count < 0)
|
||||
init_abw();
|
||||
|
@ -284,11 +284,13 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem)
|
|||
xf86Msg(X_PROBED,"Machine needs sparse mapping\n");
|
||||
pVidMem->mapMem = mapVidMemSparse;
|
||||
pVidMem->unmapMem = unmapVidMemSparse;
|
||||
#ifndef __NetBSD__
|
||||
if (axpSystem == -1)
|
||||
axpSystem = bsdGetAXP();
|
||||
hae_thresh = xf86AXPParams[axpSystem].hae_thresh;
|
||||
hae_mask = xf86AXPParams[axpSystem].hae_mask;
|
||||
sparse_size = xf86AXPParams[axpSystem].size;
|
||||
#endif /* __NetBSD__ */
|
||||
}
|
||||
pVidMem->initialised = TRUE;
|
||||
}
|
||||
|
@ -314,7 +316,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
|
|||
MAP_FLAGS, devMemFd, (off_t)Base + BUS_BASE_BWX);
|
||||
if (base == MAP_FAILED)
|
||||
{
|
||||
FatalError("%s: could not mmap %s [s=%x,a=%x] (%s)\n",
|
||||
FatalError("%s: could not mmap %s [s=%lx,a=%lx] (%s)\n",
|
||||
"xf86MapVidMem", DEV_MEM, Size, Base,
|
||||
strerror(errno));
|
||||
}
|
||||
|
@ -324,7 +326,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
|
|||
/* else, mmap /dev/vga */
|
||||
if ((unsigned long)Base < 0xA0000 || (unsigned long)Base >= 0xC0000)
|
||||
{
|
||||
FatalError("%s: Address 0x%x outside allowable range\n",
|
||||
FatalError("%s: Address 0x%lx outside allowable range\n",
|
||||
"xf86MapVidMem", Base);
|
||||
}
|
||||
base = mmap(0, Size,
|
||||
|
@ -372,7 +374,7 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
|
|||
if ((long)ptr == -1)
|
||||
{
|
||||
xf86Msg(X_WARNING,
|
||||
"xf86ReadBIOS: %s mmap[s=%x,a=%x,o=%x] failed (%s)\n",
|
||||
"xf86ReadBIOS: %s mmap[s=%x,a=%lx,o=%lx] failed (%s)\n",
|
||||
DEV_MEM, Len, Base, Offset, strerror(errno));
|
||||
return(-1);
|
||||
}
|
||||
|
@ -446,7 +448,9 @@ xf86EnableInterrupts()
|
|||
|
||||
#define vuip volatile unsigned int *
|
||||
|
||||
#ifndef __NetBSD__
|
||||
static unsigned long msb_set = 0;
|
||||
#endif
|
||||
static pointer memSBase = 0;
|
||||
static pointer memBase = 0;
|
||||
|
||||
|
@ -490,6 +494,7 @@ struct parms {
|
|||
u_int64_t hae;
|
||||
};
|
||||
|
||||
#ifndef __NetBSD__
|
||||
static int
|
||||
sethae(u_int64_t hae)
|
||||
{
|
||||
|
@ -505,6 +510,7 @@ sethae(u_int64_t hae)
|
|||
return -1;
|
||||
#endif
|
||||
}
|
||||
#endif /* __NetBSD__ */
|
||||
|
||||
static pointer
|
||||
mapVidMemSparse(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
|
||||
|
@ -552,11 +558,13 @@ static int
|
|||
readSparse8(pointer Base, register unsigned long Offset)
|
||||
{
|
||||
register unsigned long result, shift;
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
|
||||
#endif
|
||||
mem_barrier();
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
shift = (Offset & 0x3) << 3;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -565,7 +573,7 @@ readSparse8(pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
result = *(vuip) ((unsigned long)memSBase + (Offset << 5));
|
||||
result >>= shift;
|
||||
return 0xffUL & result;
|
||||
|
@ -575,11 +583,14 @@ static int
|
|||
readSparse16(pointer Base, register unsigned long Offset)
|
||||
{
|
||||
register unsigned long result, shift;
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
|
||||
mem_barrier();
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
shift = (Offset & 0x2) << 3;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -588,6 +599,7 @@ readSparse16(pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
result = *(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2)));
|
||||
result >>= shift;
|
||||
return 0xffffUL & result;
|
||||
|
@ -603,11 +615,14 @@ readSparse32(pointer Base, register unsigned long Offset)
|
|||
static void
|
||||
writeSparse8(int Value, pointer Base, register unsigned long Offset)
|
||||
{
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
register unsigned int b = Value & 0xffU;
|
||||
|
||||
write_mem_barrier();
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -616,17 +631,21 @@ writeSparse8(int Value, pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
|
||||
}
|
||||
|
||||
static void
|
||||
writeSparse16(int Value, pointer Base, register unsigned long Offset)
|
||||
{
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
register unsigned int w = Value & 0xffffU;
|
||||
|
||||
write_mem_barrier();
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -635,6 +654,7 @@ writeSparse16(int Value, pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
|
||||
w * 0x00010001;
|
||||
|
||||
|
@ -651,10 +671,13 @@ writeSparse32(int Value, pointer Base, register unsigned long Offset)
|
|||
static void
|
||||
writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
|
||||
{
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
register unsigned int b = Value & 0xffU;
|
||||
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -663,16 +686,20 @@ writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
|
||||
}
|
||||
|
||||
static void
|
||||
writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
|
||||
{
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
register unsigned int w = Value & 0xffffU;
|
||||
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask ;
|
||||
Offset -= msb;
|
||||
|
@ -681,6 +708,7 @@ writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
|
||||
w * 0x00010001;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c,v 1.8 2003/11/04 03:16:58 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c,v 1.9 2004/01/07 17:05:28 tsi Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2002 by The XFree86 Project, Inc.
|
||||
|
@ -497,7 +497,7 @@ OpenKeyboard(InputInfoPtr pInfo)
|
|||
#endif
|
||||
default:
|
||||
xf86Msg(X_ERROR, "%s: Unsupported wskbd type \"%d\"",
|
||||
pKbd->wsKbdType, pInfo->name);
|
||||
pInfo->name, pKbd->wsKbdType);
|
||||
close(pInfo->fd);
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v 1.26 2003/10/10 20:56:05 herrb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v 1.27 2004/01/17 15:20:05 herrb Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1999-2003 by The XFree86 Project, Inc.
|
||||
|
@ -80,6 +80,16 @@ static const char *mouseDevs[] = {
|
|||
DEFAULT_PS2_DEV,
|
||||
NULL
|
||||
};
|
||||
#elif defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
|
||||
/* Only wsmouse mices are autoconfigured for now on OpenBSD */
|
||||
#define DEFAULT_WSMOUSE_DEV "/dev/wsmouse"
|
||||
#define DEFAULT_WSMOUSE0_DEV "/dev/wsmouse0"
|
||||
|
||||
static const char *mouseDevs[] = {
|
||||
DEFAULT_WSMOUSE_DEV,
|
||||
DEFAULT_WSMOUSE0_DEV,
|
||||
NULL
|
||||
};
|
||||
#endif
|
||||
|
||||
static int
|
||||
|
@ -141,6 +151,8 @@ DefaultProtocol(void)
|
|||
{
|
||||
#if defined(__FreeBSD__)
|
||||
return "Auto";
|
||||
#elif defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
|
||||
return "WSMouse";
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
|
@ -325,7 +337,50 @@ FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if defined(WSCONS_SUPPORT)
|
||||
#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
|
||||
|
||||
/* Only support wsmouse configuration for now */
|
||||
static const char *
|
||||
SetupAuto(InputInfoPtr pInfo, int *protoPara)
|
||||
{
|
||||
|
||||
xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n",
|
||||
pInfo->name, "wsmouse");
|
||||
return "wsmouse";
|
||||
}
|
||||
|
||||
static void
|
||||
SetMouseRes(InputInfoPtr pInfo, const char *protocol, int rate, int res)
|
||||
{
|
||||
|
||||
xf86MsgVerb(X_INFO, 3, "%s: SetMouseRes: protocol %s rate %d res %d\n",
|
||||
pInfo->name, protocol, rate, res);
|
||||
}
|
||||
|
||||
static const char *
|
||||
FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||
{
|
||||
int fd = -1;
|
||||
const char **pdev;
|
||||
|
||||
for (pdev = mouseDevs; *pdev; pdev++) {
|
||||
SYSCALL(fd = open(*pdev, O_RDWR | O_NONBLOCK));
|
||||
if (fd != -1) {
|
||||
/* Set the Device option. */
|
||||
pInfo->conf_idev->commonOptions =
|
||||
xf86AddNewOption(pInfo->conf_idev->commonOptions,
|
||||
"Device", *pdev);
|
||||
xf86Msg(X_INFO, "%s: found Device \"%s\"\n",
|
||||
pInfo->name, *pdev);
|
||||
close(fd);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return *pdev;
|
||||
}
|
||||
#endif (__OpenBSD__)
|
||||
|
||||
#ifdef WSCONS_SUPPORT
|
||||
#define NUMEVENTS 64
|
||||
|
||||
static void
|
||||
|
@ -718,7 +773,11 @@ xf86OSMouseInit(int flags)
|
|||
p->SetBMRes = SetSysMouseRes;
|
||||
p->SetMiscRes = SetSysMouseRes;
|
||||
#endif
|
||||
#if defined(__FreeBSD__)
|
||||
#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
|
||||
p->SetupAuto = SetupAuto;
|
||||
p->SetMiscRes = SetMouseRes;
|
||||
#endif
|
||||
#if defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||
p->FindDevice = FindDevice;
|
||||
#endif
|
||||
p->PreInit = bsdMousePreInit;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c,v 1.81 2003/09/24 02:43:34 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c,v 1.82 2004/01/16 15:39:04 tsi Exp $ */
|
||||
/*
|
||||
* Pci.c - New server PCI access functions
|
||||
*
|
||||
|
@ -1016,7 +1016,9 @@ xf86scanpci(int flags)
|
|||
if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN))
|
||||
break;
|
||||
pciWriteByte(tag, PCI_PCI_BRIDGE_CONTROL_REG,
|
||||
devp->pci_bridge_control & ~PCI_PCI_BRIDGE_MASTER_ABORT_EN);
|
||||
devp->pci_bridge_control &
|
||||
~(PCI_PCI_BRIDGE_MASTER_ABORT_EN |
|
||||
PCI_PCI_BRIDGE_SECONDARY_RESET));
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -1079,7 +1081,7 @@ xf86scanpci(int flags)
|
|||
if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN))
|
||||
break;
|
||||
pciWriteByte(devp->tag, PCI_PCI_BRIDGE_CONTROL_REG,
|
||||
devp->pci_bridge_control);
|
||||
devp->pci_bridge_control & ~PCI_PCI_BRIDGE_SECONDARY_RESET);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c,v 1.6 2003/12/11 17:11:39 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c,v 1.8 2004/01/16 15:39:38 tsi Exp $ */
|
||||
/*
|
||||
* Copyright (C) 2002-2003 The XFree86 Project, Inc. All Rights Reserved.
|
||||
*
|
||||
|
@ -97,9 +97,10 @@
|
|||
#define LBA_PORT5_CNTRL 0x1228U
|
||||
#define LBA_PORT6_CNTRL 0x1230U
|
||||
#define LBA_PORT7_CNTRL 0x1238U
|
||||
#define LBA_ROPE_RESET 0x01UL
|
||||
#define LBA_CLEAR_ERROR 0x10UL
|
||||
#define LBA_HARD_FAIL 0x40UL
|
||||
#define LBA_RESET_FUNCTION 0x0000000001UL
|
||||
#define LBA_CLEAR_ERROR 0x0000000010UL
|
||||
#define LBA_HARD_FAIL 0x0000000040UL
|
||||
#define LBA_RESET_COMPLETE 0x0100000000UL
|
||||
|
||||
#define ROPE_PAGE_CONTROL 0x1418U
|
||||
|
||||
|
@ -117,8 +118,11 @@
|
|||
#define IOA_SUBORDINATE_BUS 0x0059U
|
||||
|
||||
#define IOA_CONTROL 0x0108U
|
||||
#define IOA_FORWARD_VGA 0x08UL
|
||||
#define IOA_HARD_FAIL 0x40UL
|
||||
#define IOA_RESET_FUNCTION 0x0000000001UL
|
||||
#define IOA_FORWARD_VGA 0x0000000008UL
|
||||
#define IOA_CLEAR_ERROR 0x0000000010UL
|
||||
#define IOA_HARD_FAIL 0x0000000040UL
|
||||
#define IOA_RESET_COMPLETE 0x0100000000UL
|
||||
|
||||
#define IOA_LMMIO_BASE 0x0200U
|
||||
#define IOA_LMMIO_MASK 0x0208U
|
||||
|
@ -134,12 +138,33 @@
|
|||
#define IOA_ELMMIO_MASK 0x0258U
|
||||
#define IOA_EIOS_BASE 0x0260U
|
||||
#define IOA_EIOS_MASK 0x0268U
|
||||
|
||||
#define IOA_GLOBAL_MASK 0x0270U
|
||||
#define IOA_SLAVE_CONTROL 0x0278U
|
||||
#define IOA_VGA_PEER_ENABLE 0x2000UL
|
||||
#define IOA_MSI_BASE 0x0280U
|
||||
#define IOA_MSI_MASK 0x0288U
|
||||
|
||||
#define IOA_DMA_BASE 0x02B0U
|
||||
#define IOA_DMA_MASK 0x02B8U
|
||||
|
||||
#define IOA_ERROR_CONFIG 0x0680U
|
||||
#define IOA_ERROR_PIOWRITE 0x0001UL
|
||||
#define IOA_ERROR_PIOREAD 0x0002UL
|
||||
#define IOA_ERROR_DMAWRITE 0x0004UL
|
||||
#define IOA_ERROR_DMAREAD 0x0008UL
|
||||
#define IOA_ERROR_CONFIG_MASTER 0x0010UL
|
||||
#define IOA_ERROR_SMART 0x0020UL
|
||||
#define IOA_ERROR_FATAL_SERR 0x0040UL
|
||||
#define IOA_ERROR_ASSERT_SERR 0x0080UL
|
||||
/* ? 0x0100UL */
|
||||
#define IOA_ERROR_LOOPBACK 0x0200UL
|
||||
#define IOA_ERROR_CONFIG_TARGET 0x0400UL
|
||||
#define IOA_ERROR_IO_MASTER 0x0800UL
|
||||
#define IOA_ERROR_IO_TARGET 0x1000UL
|
||||
#define IOA_ERROR_MEM_MASTER 0x2000UL
|
||||
#define IOA_ERROR_MEM_TARGET 0x4000UL
|
||||
#define IOA_ERROR_HF_IO_FATAL 0x8000UL
|
||||
|
||||
#define RANGE_ENABLE 0x01UL /* In various base registers */
|
||||
|
||||
#define IO_MASK ((1UL << 16) - 1UL)
|
||||
|
@ -156,10 +181,15 @@
|
|||
static CARD8 *pZX1mio = NULL,
|
||||
*pZX1ioa = NULL;
|
||||
|
||||
static INT8 zx1_ropemap[8]; /* One for each (potential) rope */
|
||||
static CARD64 zx1_lbacntl[8]; /* " " " " " */
|
||||
/* Per-rope data */
|
||||
static INT8 zx1_ropemap[8];
|
||||
static CARD32 zx1_pciids[8];
|
||||
static CARD64 zx1_lbacntl[8];
|
||||
static int zx1_busno[8], zx1_subno[8];
|
||||
|
||||
/* Array of Booleans for non-empty buses */
|
||||
static INT8 zx1_busnmpt[MAX_PCI_BUSES];
|
||||
|
||||
static pciBusFuncs_t zx1BusFuncs;
|
||||
static int zx1_fakebus = -1;
|
||||
static Bool zx1_hasvga = FALSE;
|
||||
|
@ -292,7 +322,8 @@ ControlZX1Bridge(int bus, CARD16 mask, CARD16 value)
|
|||
* SLAVE_CONTROL register.
|
||||
*/
|
||||
tmp1 = MIO_QUAD(VGA_ROUTE);
|
||||
tmp2 = IOA_QUAD(ropenum, IOA_CONTROL);
|
||||
tmp2 = IOA_QUAD(ropenum, IOA_CONTROL) &
|
||||
~(IOA_RESET_FUNCTION | IOA_CLEAR_ERROR);
|
||||
if ((tmp1 & VGA_ENABLE) && ((tmp1 & 0x07UL) == ropenum)) {
|
||||
current |= PCI_PCI_BRIDGE_VGA_EN;
|
||||
if ((mask & PCI_PCI_BRIDGE_VGA_EN) &&
|
||||
|
@ -315,8 +346,9 @@ ControlZX1Bridge(int bus, CARD16 mask, CARD16 value)
|
|||
MIO_QUAD(VGA_ROUTE) = 0UL;
|
||||
tmp3 = IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL);
|
||||
if (tmp3 & IOA_FORWARD_VGA)
|
||||
IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL) =
|
||||
tmp3 & ~IOA_FORWARD_VGA;
|
||||
IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL) = tmp3 &
|
||||
~(IOA_RESET_FUNCTION | IOA_FORWARD_VGA |
|
||||
IOA_CLEAR_ERROR);
|
||||
}
|
||||
if (!(tmp2 & IOA_FORWARD_VGA)) {
|
||||
tmp2 |= IOA_FORWARD_VGA;
|
||||
|
@ -329,7 +361,7 @@ ControlZX1Bridge(int bus, CARD16 mask, CARD16 value)
|
|||
|
||||
/* Move on to master abort failure enablement */
|
||||
tmp1 = MIO_QUAD((ropenum << 3) + LBA_PORT0_CNTRL) &
|
||||
~(LBA_ROPE_RESET | LBA_CLEAR_ERROR);
|
||||
~(LBA_RESET_FUNCTION | LBA_CLEAR_ERROR);
|
||||
if ((tmp1 & LBA_HARD_FAIL) || (tmp2 & IOA_HARD_FAIL)) {
|
||||
current |= PCI_PCI_BRIDGE_MASTER_ABORT_EN;
|
||||
if ((mask & PCI_PCI_BRIDGE_MASTER_ABORT_EN) &&
|
||||
|
@ -520,14 +552,14 @@ xf86PreScanZX1(void)
|
|||
|
||||
/* Prevent hard-fails */
|
||||
zx1_lbacntl[i] = MIO_QUAD((i << 3) + LBA_PORT0_CNTRL) &
|
||||
~(LBA_ROPE_RESET | LBA_CLEAR_ERROR);
|
||||
~(LBA_RESET_FUNCTION | LBA_CLEAR_ERROR);
|
||||
if (zx1_lbacntl[i] & LBA_HARD_FAIL)
|
||||
MIO_QUAD((i << 3) + LBA_PORT0_CNTRL) =
|
||||
zx1_lbacntl[i] & ~LBA_HARD_FAIL;
|
||||
|
||||
/* Poke for an ioa */
|
||||
tmp = IOA_LONG(i, PCI_ID_REG);
|
||||
switch ((CARD32)tmp) {
|
||||
zx1_pciids[i] = IOA_LONG(i, PCI_ID_REG);
|
||||
switch (zx1_pciids[i]) {
|
||||
case DEVID(VENDOR_HP, CHIP_ELROY):
|
||||
case DEVID(VENDOR_HP, CHIP_ZX1_LBA): /* Mercury */
|
||||
case DEVID(VENDOR_HP, CHIP_ZX1_AGP8): /* QuickSilver */
|
||||
|
@ -539,10 +571,10 @@ xf86PreScanZX1(void)
|
|||
break;
|
||||
|
||||
default:
|
||||
if ((CARD16)(tmp + 1U) > (CARD16)1U)
|
||||
if ((CARD16)(zx1_pciids[i] + 1U) > (CARD16)1U)
|
||||
xf86MsgVerb(X_NOTICE, 0,
|
||||
"HP ZX1: Unexpected vendor/device id 0x%08X"
|
||||
" on rope %d\n", (CARD32)tmp, i);
|
||||
" on rope %d\n", zx1_pciids[i], i);
|
||||
/* Nobody home, or not the "right" kind of rope guest */
|
||||
|
||||
/*
|
||||
|
@ -906,6 +938,9 @@ xf86PostScanZX1(void)
|
|||
if (!pZX1mio)
|
||||
return;
|
||||
|
||||
(void)memset(zx1_busnmpt, FALSE, sizeof(zx1_busnmpt));
|
||||
pBusInfo = pciBusInfo[0];
|
||||
|
||||
/*
|
||||
* Certain 2.4 & 2.5 Linux kernels add fake PCI devices. Remove them to
|
||||
* prevent any possible interference with our PCI validation.
|
||||
|
@ -929,6 +964,8 @@ xf86PostScanZX1(void)
|
|||
*ppPCI++ = pPCI;
|
||||
idx++;
|
||||
|
||||
zx1_busnmpt[pPCI->busnum] = TRUE;
|
||||
|
||||
if (zx1_hasvga)
|
||||
continue;
|
||||
|
||||
|
@ -953,8 +990,8 @@ xf86PostScanZX1(void)
|
|||
}
|
||||
|
||||
/*
|
||||
* Restore hard-fail settings and figure out the actual subordinate bus
|
||||
* numbers.
|
||||
* Restore hard-fail settings and figure out the actual secondary and
|
||||
* subordinate bus numbers.
|
||||
*/
|
||||
for (i = 0; i < 8; i++) {
|
||||
if (zx1_ropemap[i] != i)
|
||||
|
@ -968,6 +1005,14 @@ xf86PostScanZX1(void)
|
|||
|
||||
if (zx1_fakebus <= zx1_subno[i])
|
||||
zx1_fakebus = zx1_subno[i] + 1;
|
||||
|
||||
while (!zx1_busnmpt[zx1_busno[i]]) {
|
||||
if (zx1_busno[i]) /* Info for bus zero is in static storage */
|
||||
xfree(pciBusInfo[zx1_busno[i]]);
|
||||
pciBusInfo[zx1_busno[i]++] = NULL;
|
||||
if (zx1_busno[i] > zx1_subno[i])
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (zx1_fakebus >= pciNumBuses) {
|
||||
|
@ -977,13 +1022,13 @@ xf86PostScanZX1(void)
|
|||
}
|
||||
|
||||
/* Set up our extra bus functions */
|
||||
zx1BusFuncs = *(pciBusInfo[0]->funcs);
|
||||
zx1BusFuncs = *(pBusInfo->funcs);
|
||||
zx1BusFuncs.pciControlBridge = ControlZX1Bridge;
|
||||
zx1BusFuncs.pciGetBridgeResources = GetZX1BridgeResources;
|
||||
|
||||
/* Set up our own fake bus to act as the root segment */
|
||||
zx1FakeBus.configMech = pciBusInfo[0]->configMech;
|
||||
zx1FakeBus.numDevices = pciBusInfo[0]->numDevices;
|
||||
zx1FakeBus.configMech = pBusInfo->configMech;
|
||||
zx1FakeBus.numDevices = pBusInfo->numDevices;
|
||||
zx1FakeBus.primary_bus = zx1_fakebus;
|
||||
pciBusInfo[zx1_fakebus] = &zx1FakeBus;
|
||||
|
||||
|
@ -1018,7 +1063,8 @@ xf86PostScanZX1(void)
|
|||
|
||||
/* Add a fake PCI-to-PCI bridge to represent each active rope */
|
||||
for (i = 0; i < 8; i++) {
|
||||
if ((zx1_ropemap[i] != i) || !(pBusInfo = pciBusInfo[zx1_busno[i]]))
|
||||
if ((zx1_ropemap[i] != i) || (zx1_busno[i] > zx1_subno[i]) ||
|
||||
!(pBusInfo = pciBusInfo[zx1_busno[i]]))
|
||||
continue;
|
||||
|
||||
if (++idx >= MAX_PCI_DEVICES)
|
||||
|
@ -1028,7 +1074,7 @@ xf86PostScanZX1(void)
|
|||
pPCI->devnum = i | 0x10;
|
||||
/* pPCI->funcnum = 0; */
|
||||
pPCI->tag = PCI_MAKE_TAG(zx1_fakebus, pPCI->devnum, 0);
|
||||
pPCI->pci_device_vendor = DEVID(VENDOR_HP, CHIP_ZX1_LBA);
|
||||
pPCI->pci_device_vendor = zx1_pciids[i];
|
||||
pPCI->pci_base_class = PCI_CLASS_BRIDGE;
|
||||
pPCI->pci_sub_class = PCI_SUBCLASS_BRIDGE_PCI;
|
||||
pPCI->pci_header_type = 1;
|
||||
|
@ -1044,6 +1090,9 @@ xf86PostScanZX1(void)
|
|||
/* Plug in chipset routines */
|
||||
pBusInfo->funcs = &zx1BusFuncs;
|
||||
|
||||
/* Set bridge control register for scanpci utility */
|
||||
pPCI->pci_bridge_control = ControlZX1Bridge(zx1_busno[i], 0, 0);
|
||||
|
||||
#ifdef OLD_FORMAT
|
||||
xf86MsgVerb(X_INFO, 2, "PCI: BusID 0x%.2x,0x%02x,0x%1x "
|
||||
"ID 0x%04x,0x%04x Rev 0x%02x Class 0x%02x,0x%02x\n",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/ioport.c,v 1.4 2003/01/01 19:16:41 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/ioport.c,v 1.5 2004/01/05 16:42:10 tsi Exp $ */
|
||||
/*
|
||||
* Copyright 2002 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
* Copyright 2002 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
*
|
||||
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
|
||||
*
|
||||
* $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/config.h,v 1.18 2003/12/19 02:05:38 dawes Exp $
|
||||
* $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/config.h,v 1.20 2003/12/30 18:55:11 tsi Exp $
|
||||
*/
|
||||
|
||||
#include <X11/IntrinsicP.h>
|
||||
|
@ -37,10 +37,12 @@
|
|||
#include <stdlib.h>
|
||||
#include <dirent.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#if defined(sun) && defined(SVR4)
|
||||
#ifdef sun
|
||||
#undef index
|
||||
#undef rindex
|
||||
#include <strings.h>
|
||||
#endif
|
||||
#include <unistd.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/vbe/vbe.h,v 1.3 2003/11/14 14:58:45 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/vbe/vbe.h,v 1.4 2004/01/07 04:28:06 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* XFree86 vbe module
|
||||
|
@ -60,7 +60,7 @@ typedef struct vbeControllerInfoBlock {
|
|||
CARD8 OemData[256];
|
||||
} vbeControllerInfoRec, *vbeControllerInfoPtr;
|
||||
|
||||
#ifdef __GNUC__
|
||||
#if defined(__GNUC__) || defined(SCO) || defined(__USLC__)
|
||||
#pragma pack() /* All GCC versions recognise this syntax */
|
||||
#else
|
||||
#pragma pack(0)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaPict.c,v 1.18 2003/04/23 18:35:34 eich Exp $
|
||||
* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaPict.c,v 1.19 2004/01/26 18:54:55 mvojkovi Exp $
|
||||
*
|
||||
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
||||
*
|
||||
|
@ -219,6 +219,9 @@ XAADoComposite (
|
|||
ySrc += pSrc->pDrawable->y;
|
||||
|
||||
if(pMask) {
|
||||
if(pMask->componentAlpha)
|
||||
return FALSE;
|
||||
|
||||
/* for now we only do it if there is a 1x1 (solid) source */
|
||||
|
||||
if((pSrc->pDrawable->width == 1) && (pSrc->pDrawable->height == 1)) {
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
* Authors: Kensuke Matsuzaki
|
||||
* Harold L Hunt II
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/hw/xwin/winmultiwindowshape.c,v 1.2 2003/11/10 18:22:44 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xwin/winmultiwindowshape.c,v 1.3 2003/12/22 01:34:20 dickey Exp $ */
|
||||
|
||||
#ifdef SHAPE
|
||||
|
||||
|
@ -117,9 +117,9 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
if (!wBoundingShape (pWin))
|
||||
return;
|
||||
|
||||
REGION_NULL(pScreen, &rrNewShape);
|
||||
REGION_COPY(pScreen, &rrNewShape, wBoundingShape(pWin));
|
||||
REGION_TRANSLATE(pScreen,
|
||||
REGION_NULL(pWin->drawable.pScreen, &rrNewShape);
|
||||
REGION_COPY(pWin->drawable.pScreen, &rrNewShape, wBoundingShape(pWin));
|
||||
REGION_TRANSLATE(pWin->drawable.pScreen,
|
||||
&rrNewShape,
|
||||
pWin->borderWidth,
|
||||
pWin->borderWidth);
|
||||
|
@ -138,7 +138,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
if (!GetClientRect (pWinPriv->hWnd, &rcClient))
|
||||
{
|
||||
ErrorF ("winReshape - GetClientRect failed, bailing: %d\n",
|
||||
GetLastError ());
|
||||
(int) GetLastError ());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -150,7 +150,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
if (!GetWindowRect (pWinPriv->hWnd, &rcWindow))
|
||||
{
|
||||
ErrorF ("winReshape - GetWindowRect failed, bailing: %d\n",
|
||||
GetLastError ());
|
||||
(int) GetLastError ());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -165,7 +165,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
{
|
||||
ErrorF ("winReshape - Initial CreateRectRgn (%d, %d, %d, %d) "
|
||||
"failed: %d\n",
|
||||
0, 0, rcWindow.right, iOffsetY, GetLastError ());
|
||||
0, 0, (int) rcWindow.right, iOffsetY, (int) GetLastError ());
|
||||
}
|
||||
|
||||
/* Loop through all rectangles in the X region */
|
||||
|
@ -185,7 +185,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
pRects->y1 + iOffsetY - 1,
|
||||
pRects->x2 + iOffsetX - 1,
|
||||
pRects->y2 + iOffsetY - 1,
|
||||
GetLastError (),
|
||||
(int) GetLastError (),
|
||||
pRects->x1, pRects->x2, iOffsetX,
|
||||
pRects->y1, pRects->y2, iOffsetY);
|
||||
}
|
||||
|
@ -194,7 +194,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
if (CombineRgn (hRgn, hRgn, hRgnRect, RGN_OR) == ERROR)
|
||||
{
|
||||
ErrorF ("winReshape - CombineRgn () failed: %d\n",
|
||||
GetLastError ());
|
||||
(int) GetLastError ());
|
||||
}
|
||||
|
||||
/* Delete the temporary Windows region */
|
||||
|
@ -205,7 +205,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
pWinPriv->hRgn = hRgn;
|
||||
}
|
||||
|
||||
REGION_UNINIT(pScreen, &rrNewShape);
|
||||
REGION_UNINIT(pWin->drawable.pScreen, &rrNewShape);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
* Authors: Harold L Hunt II
|
||||
* Kensuke Matsuzaki
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/hw/xwin/winwindow.c,v 1.9 2003/11/10 18:22:44 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xwin/winwindow.c,v 1.10 2003/12/22 01:34:20 dickey Exp $ */
|
||||
|
||||
#include "win.h"
|
||||
|
||||
|
@ -98,7 +98,7 @@ winCopyWindowNativeGDI (WindowPtr pWin,
|
|||
int dx, dy;
|
||||
int i, nbox;
|
||||
WindowPtr pwinRoot;
|
||||
BoxPtr pBoxDst, pBoxSrc;
|
||||
BoxPtr pBoxDst;
|
||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||
winScreenPriv(pScreen);
|
||||
|
||||
|
@ -465,9 +465,7 @@ void
|
|||
winReshapePRootless (WindowPtr pWin)
|
||||
{
|
||||
int nRects;
|
||||
#if 0
|
||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||
#endif
|
||||
RegionRec rrNewShape;
|
||||
BoxPtr pShape, pRects, pEnd;
|
||||
HRGN hRgn, hRgnRect;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 1997 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
* Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
|
@ -44,7 +44,7 @@
|
|||
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $XFree86: xc/programs/Xserver/mi/mibank.c,v 1.15 2003/11/10 18:39:16 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/mi/mibank.c,v 1.16 2004/01/05 16:42:10 tsi Exp $ */
|
||||
|
||||
/*
|
||||
* This thing originated from an idea of Edwin Goei and his bank switching
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 1997 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
* Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
|
@ -20,7 +20,7 @@
|
|||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $XFree86: xc/programs/Xserver/mi/mibank.h,v 1.10 2003/01/01 19:16:42 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/mi/mibank.h,v 1.11 2004/01/05 16:42:10 tsi Exp $ */
|
||||
|
||||
#ifndef __MIBANK_H__
|
||||
#define __MIBANK_H__ 1
|
||||
|
|
|
@ -26,13 +26,12 @@
|
|||
* holders shall not be used in advertising or otherwise to promote the sale,
|
||||
* use or other dealings in this Software without prior written authorization.
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlpha.h,v 1.2 2003/10/18 00:00:34 torrey Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlpha.h,v 1.3 2004/01/19 01:22:48 torrey Exp $ */
|
||||
|
||||
#ifndef _SAFEALPHA_H
|
||||
#define _SAFEALPHA_H
|
||||
|
||||
#include "picturestr.h"
|
||||
#include "rootlessCommon.h"
|
||||
|
||||
void SafeAlphaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what);
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
*
|
||||
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaPicture.c,v 1.3 2003/10/24 00:33:15 torrey Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaPicture.c,v 1.4 2004/01/19 01:22:48 torrey Exp $ */
|
||||
|
||||
#ifdef RENDER
|
||||
|
||||
|
@ -41,6 +41,7 @@
|
|||
#include "mipict.h"
|
||||
#include "fbpict.h"
|
||||
#include "safeAlpha.h"
|
||||
#include "rootlessCommon.h"
|
||||
|
||||
# define mod(a,b) ((b) == 1 ? 0 : (a) >= 0 ? (a) % (b) : (b) - (-a) % (b))
|
||||
|
||||
|
|
|
@ -31,10 +31,11 @@
|
|||
*
|
||||
* Copyright © 1998 Keith Packard
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaWindow.c,v 1.1 2003/09/16 00:36:20 torrey Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaWindow.c,v 1.2 2004/01/19 01:22:48 torrey Exp $ */
|
||||
|
||||
#include "fb.h"
|
||||
#include "safeAlpha.h"
|
||||
#include "rootlessCommon.h"
|
||||
|
||||
#ifdef PANORAMIX
|
||||
#include "panoramiX.h"
|
||||
|
|
61
os/access.c
61
os/access.c
|
@ -45,7 +45,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
|||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
/* $XFree86: xc/programs/Xserver/os/access.c,v 3.50 2003/11/03 05:12:00 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/os/access.c,v 3.54 2004/01/03 17:38:39 herrb Exp $ */
|
||||
|
||||
#ifdef WIN32
|
||||
#include <X11/Xwinsock.h>
|
||||
|
@ -645,6 +645,20 @@ DefineLocalHost:
|
|||
#include <arpa/inet.h>
|
||||
#endif
|
||||
|
||||
#if defined(IPv6) && defined(AF_INET6)
|
||||
static void
|
||||
in6_fillscopeid(struct sockaddr_in6 *sin6)
|
||||
{
|
||||
#if defined(__KAME__)
|
||||
if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
|
||||
sin6->sin6_scope_id =
|
||||
ntohs(*(u_int16_t *)&sin6->sin6_addr.s6_addr[2]);
|
||||
sin6->sin6_addr.s6_addr[2] = sin6->sin6_addr.s6_addr[3] = 0;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
DefineSelf (int fd)
|
||||
{
|
||||
|
@ -761,6 +775,10 @@ DefineSelf (int fd)
|
|||
#endif /* DNETCONN */
|
||||
if (family == -1 || family == FamilyLocal)
|
||||
continue;
|
||||
#if defined(IPv6) && defined(AF_INET6)
|
||||
if (family == FamilyInternet6)
|
||||
in6_fillscopeid((struct sockaddr_in6 *)&IFR_IFR_ADDR);
|
||||
#endif
|
||||
#ifdef DEF_SELF_DEBUG
|
||||
if (family == FamilyInternet)
|
||||
ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %d.%d.%d.%d\n",
|
||||
|
@ -898,10 +916,24 @@ DefineSelf (int fd)
|
|||
family = ConvertAddr(ifr->ifa_addr, &len, (pointer *)&addr);
|
||||
if (family == -1 || family == FamilyLocal)
|
||||
continue;
|
||||
#if defined(IPv6) && defined(AF_INET6)
|
||||
if (family == FamilyInternet6)
|
||||
in6_fillscopeid((struct sockaddr_in6 *)ifr->ifa_addr);
|
||||
#endif
|
||||
|
||||
#ifdef DEF_SELF_DEBUG
|
||||
if (family == FamilyInternet)
|
||||
ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %d.%d.%d.%d\n",
|
||||
ifr->ifa_name, addr[0], addr[1], addr[2], addr[3]);
|
||||
#if defined(IPv6) && defined(AF_INET6)
|
||||
else if (family == FamilyInternet6) {
|
||||
char cp[INET6_ADDRSTRLEN];
|
||||
|
||||
inet_ntop(AF_INET6, addr, cp, sizeof(cp));
|
||||
ErrorF("Xserver: DefineSelf(): ifname = %s addr = %s\n",
|
||||
ifr->ifa_name, cp);
|
||||
}
|
||||
#endif
|
||||
#endif /* DEF_SELF_DEBUG */
|
||||
for (host = selfhosts;
|
||||
host != NULL && !addrEqual(family, addr, len, host);
|
||||
|
@ -923,17 +955,34 @@ DefineSelf (int fd)
|
|||
/*
|
||||
* If this isn't an Internet Address, don't register it.
|
||||
*/
|
||||
if (family != FamilyInternet)
|
||||
if (family != FamilyInternet
|
||||
#if defined(IPv6) && defined(AF_INET6)
|
||||
&& family != FamilyInternet6
|
||||
#endif
|
||||
)
|
||||
continue;
|
||||
/*
|
||||
* ignore 'localhost' entries as they're not usefule
|
||||
* ignore 'localhost' entries as they're not useful
|
||||
* on the other end of the wire
|
||||
*/
|
||||
if (len == 4 &&
|
||||
addr[0] == 127 && addr[1] == 0 &&
|
||||
addr[2] == 0 && addr[2] == 1)
|
||||
if (ifr->ifa_flags & IFF_LOOPBACK)
|
||||
continue;
|
||||
|
||||
if (family == FamilyInternet &&
|
||||
addr[0] == 127 && addr[1] == 0 &&
|
||||
addr[2] == 0 && addr[3] == 1)
|
||||
continue;
|
||||
#if defined(IPv6) && defined(AF_INET6)
|
||||
else if (family == FamilyInternet6 &&
|
||||
IN6_IS_ADDR_LOOPBACK((struct in6_addr *)addr))
|
||||
continue;
|
||||
#endif
|
||||
XdmcpRegisterConnection(family, (char *)addr, len);
|
||||
#if defined(IPv6) && defined(AF_INET6)
|
||||
if (family == FamilyInternet6)
|
||||
/* IPv6 doesn't support broadcasting, so we drop out here */
|
||||
continue;
|
||||
#endif
|
||||
if ((ifr->ifa_flags & IFF_BROADCAST) &&
|
||||
(ifr->ifa_flags & IFF_UP))
|
||||
broad_addr = *ifr->ifa_broadaddr;
|
||||
|
|
18
os/utils.c
18
os/utils.c
|
@ -49,7 +49,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
|
|||
OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/os/utils.c,v 3.95 2003/10/01 18:36:38 alanh Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/os/utils.c,v 3.97 2004/01/09 00:35:06 dawes Exp $ */
|
||||
|
||||
#ifdef __CYGWIN__
|
||||
#include <stdlib.h>
|
||||
|
@ -244,6 +244,7 @@ LockServer(void)
|
|||
int lfd, i, haslock, l_pid, t;
|
||||
char *tmppath = NULL;
|
||||
int len;
|
||||
char port[20];
|
||||
|
||||
if (nolock) return;
|
||||
/*
|
||||
|
@ -258,13 +259,14 @@ LockServer(void)
|
|||
FatalError("No TMP dir found\n");
|
||||
#endif
|
||||
|
||||
sprintf(port, "%d", atoi(display));
|
||||
len = strlen(LOCK_PREFIX) > strlen(LOCK_TMP_PREFIX) ? strlen(LOCK_PREFIX) :
|
||||
strlen(LOCK_TMP_PREFIX);
|
||||
len += strlen(tmppath) + strlen(display) + strlen(LOCK_SUFFIX) + 1;
|
||||
len += strlen(tmppath) + strlen(port) + strlen(LOCK_SUFFIX) + 1;
|
||||
if (len > sizeof(LockFile))
|
||||
FatalError("Display name `%s' is too long\n", display);
|
||||
(void)sprintf(tmp, "%s" LOCK_TMP_PREFIX "%s" LOCK_SUFFIX, tmppath, display);
|
||||
(void)sprintf(LockFile, "%s" LOCK_PREFIX "%s" LOCK_SUFFIX, tmppath, display);
|
||||
FatalError("Display name `%s' is too long\n", port);
|
||||
(void)sprintf(tmp, "%s" LOCK_TMP_PREFIX "%s" LOCK_SUFFIX, tmppath, port);
|
||||
(void)sprintf(LockFile, "%s" LOCK_PREFIX "%s" LOCK_SUFFIX, tmppath, port);
|
||||
|
||||
/*
|
||||
* Create a temporary file containing our PID. Attempt three times
|
||||
|
@ -359,7 +361,7 @@ LockServer(void)
|
|||
*/
|
||||
unlink(tmp);
|
||||
FatalError("Server is already active for display %s\n%s %s\n%s\n",
|
||||
display, "\tIf this server is no longer running, remove",
|
||||
port, "\tIf this server is no longer running, remove",
|
||||
LockFile, "\tand start again.");
|
||||
}
|
||||
}
|
||||
|
@ -584,7 +586,9 @@ ProcessCommandLine(int argc, char *argv[])
|
|||
|
||||
defaultKeyboardControl.autoRepeat = TRUE;
|
||||
|
||||
#ifdef PART_NET
|
||||
#ifdef NO_PART_NET
|
||||
PartialNetwork = FALSE;
|
||||
#else
|
||||
PartialNetwork = TRUE;
|
||||
#endif
|
||||
|
||||
|
|
45
os/xdmcp.c
45
os/xdmcp.c
|
@ -13,7 +13,7 @@
|
|||
* without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/os/xdmcp.c,v 3.29 2003/11/22 04:51:02 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/os/xdmcp.c,v 3.32 2004/01/01 17:09:29 herrb Exp $ */
|
||||
|
||||
#ifdef WIN32
|
||||
/* avoid conflicting definitions */
|
||||
|
@ -758,14 +758,6 @@ XdmcpSelectHost(
|
|||
int host_len,
|
||||
ARRAY8Ptr AuthenticationName)
|
||||
{
|
||||
#if defined(IPv6) && defined(AF_INET6)
|
||||
/* Don't need list of addresses for host anymore */
|
||||
if (mgrAddrFirst != NULL) {
|
||||
freeaddrinfo(mgrAddrFirst);
|
||||
mgrAddrFirst = NULL;
|
||||
mgrAddr = NULL;
|
||||
}
|
||||
#endif
|
||||
state = XDM_START_CONNECTION;
|
||||
memmove(&req_sockaddr, host_sockaddr, host_len);
|
||||
req_socklen = host_len;
|
||||
|
@ -1161,7 +1153,7 @@ send_query_msg(void)
|
|||
socketfd = xdmcpSocket6;
|
||||
#endif
|
||||
XdmcpFlush (socketfd, &buffer, (XdmcpNetaddr) &ManagerAddress,
|
||||
sizeof (ManagerAddress));
|
||||
ManagerAddressLen);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1213,9 +1205,19 @@ send_request_msg(void)
|
|||
XdmcpHeader header;
|
||||
int length;
|
||||
int i;
|
||||
CARD16 XdmcpConnectionType;
|
||||
ARRAY8 authenticationData;
|
||||
int socketfd = xdmcpSocket;
|
||||
|
||||
switch (SOCKADDR_FAMILY(ManagerAddress))
|
||||
{
|
||||
case AF_INET: XdmcpConnectionType=FamilyInternet; break;
|
||||
#if defined(IPv6) && defined(AF_INET6)
|
||||
case AF_INET6: XdmcpConnectionType=FamilyInternet6; break;
|
||||
#endif
|
||||
default: XdmcpConnectionType=0xffff; break;
|
||||
}
|
||||
|
||||
header.version = XDM_PROTOCOL_VERSION;
|
||||
header.opcode = (CARD16) REQUEST;
|
||||
|
||||
|
@ -1246,8 +1248,27 @@ send_request_msg(void)
|
|||
return;
|
||||
}
|
||||
XdmcpWriteCARD16 (&buffer, DisplayNumber);
|
||||
XdmcpWriteARRAY16 (&buffer, &ConnectionTypes);
|
||||
XdmcpWriteARRAYofARRAY8 (&buffer, &ConnectionAddresses);
|
||||
XdmcpWriteCARD8 (&buffer, ConnectionTypes.length);
|
||||
|
||||
/* The connection array is send reordered, so that connections of */
|
||||
/* the same address type as the XDMCP manager connection are send */
|
||||
/* first. This works around a bug in xdm. mario@klebsch.de */
|
||||
for (i = 0; i < (int)ConnectionTypes.length; i++)
|
||||
if (ConnectionTypes.data[i]==XdmcpConnectionType)
|
||||
XdmcpWriteCARD16 (&buffer, ConnectionTypes.data[i]);
|
||||
for (i = 0; i < (int)ConnectionTypes.length; i++)
|
||||
if (ConnectionTypes.data[i]!=XdmcpConnectionType)
|
||||
XdmcpWriteCARD16 (&buffer, ConnectionTypes.data[i]);
|
||||
|
||||
XdmcpWriteCARD8 (&buffer, ConnectionAddresses.length);
|
||||
for (i = 0; i < (int)ConnectionAddresses.length; i++)
|
||||
if ( (i<ConnectionTypes.length) &&
|
||||
(ConnectionTypes.data[i]==XdmcpConnectionType) )
|
||||
XdmcpWriteARRAY8 (&buffer, &ConnectionAddresses.data[i]);
|
||||
for (i = 0; i < (int)ConnectionAddresses.length; i++)
|
||||
if ( (i>=ConnectionTypes.length) ||
|
||||
(ConnectionTypes.data[i]!=XdmcpConnectionType) )
|
||||
XdmcpWriteARRAY8 (&buffer, &ConnectionAddresses.data[i]);
|
||||
|
||||
XdmcpWriteARRAY8 (&buffer, AuthenticationName);
|
||||
XdmcpWriteARRAY8 (&buffer, &authenticationData);
|
||||
|
|
|
@ -24,7 +24,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
|
|||
THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
********************************************************/
|
||||
/* $XFree86: xc/programs/Xserver/xkb/xkb.c,v 3.22 2003/11/17 22:20:45 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/xkb/xkb.c,v 3.23 2003/12/22 17:48:11 tsi Exp $ */
|
||||
|
||||
#include <stdio.h>
|
||||
#include "X.h"
|
||||
|
@ -2307,8 +2307,7 @@ ProcXkbSetMap(ClientPtr client)
|
|||
stuff->maxKeyCode= xkb->max_key_code;
|
||||
}
|
||||
else {
|
||||
if ((stuff->minKeyCode<XkbMinLegalKeyCode)||
|
||||
(stuff->maxKeyCode>XkbMaxLegalKeyCode)) {
|
||||
if (!XkbIsLegalKeycode(stuff->minKeyCode)) {
|
||||
client->errorValue= _XkbErrCode3(2,stuff->minKeyCode,
|
||||
stuff->maxKeyCode);
|
||||
return BadValue;
|
||||
|
|
|
@ -24,7 +24,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
|
|||
THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
********************************************************/
|
||||
/* $XFree86: xc/programs/Xserver/xkb/xkbInit.c,v 3.32 2003/11/17 22:20:46 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/xkb/xkbInit.c,v 3.33 2003/12/22 17:48:12 tsi Exp $ */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -716,7 +716,7 @@ XkbRF_VarDefsRec defs;
|
|||
|
||||
if (ok && (finfo.xkb!=NULL)) {
|
||||
XkbDescPtr xkb;
|
||||
int minKC,maxKC;
|
||||
KeyCode minKC,maxKC;
|
||||
|
||||
xkb= finfo.xkb;
|
||||
minKC= xkb->min_key_code;
|
||||
|
|
Loading…
Reference in New Issue