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
|
dealings in this Software without prior written authorization from said
|
||||||
copyright holders.
|
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>
|
#include <stdio.h>
|
||||||
|
@ -58,7 +58,6 @@ static short tmp2;
|
||||||
|
|
||||||
#define ESC 0x1b
|
#define ESC 0x1b
|
||||||
#define SYMBOL_SET 277
|
#define SYMBOL_SET 277
|
||||||
#define MAX_CINDEX 255
|
|
||||||
|
|
||||||
static unsigned int PclDownloadChar(FILE *,PclCharDataPtr,unsigned short,unsigned char);
|
static unsigned int PclDownloadChar(FILE *,PclCharDataPtr,unsigned short,unsigned char);
|
||||||
static unsigned int PclDownloadHeader(FILE *, PclFontDescPtr, unsigned short);
|
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].fid = pfh->cur_fid;
|
||||||
pfh->index[row][col].cindex = pfh->cur_cindex++;
|
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);
|
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
|
Copyright 1987, 1998 The Open Group
|
||||||
|
@ -944,7 +944,8 @@ EnqueueEvent(xE, device, count)
|
||||||
|
|
||||||
#ifdef XKB
|
#ifdef XKB
|
||||||
/* Fix for key repeating bug. */
|
/* 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);
|
AccessXCancelRepeatKey(device->key->xkbInfo, xE->u.u.detail);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1647,8 +1648,11 @@ DeliverEventsToWindow(pWin, pEvents, count, filter, grab, mskidx)
|
||||||
#ifdef XINPUT
|
#ifdef XINPUT
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (((type == DeviceMotionNotify) || (type == DeviceButtonPress)) &&
|
if (((type == DeviceMotionNotify)
|
||||||
deliveries)
|
#ifdef XKB
|
||||||
|
|| (type == DeviceButtonPress)
|
||||||
|
#endif
|
||||||
|
) && deliveries)
|
||||||
CheckDeviceGrabAndHintWindow (pWin, type,
|
CheckDeviceGrabAndHintWindow (pWin, type,
|
||||||
(deviceKeyButtonPointer*) pEvents,
|
(deviceKeyButtonPointer*) pEvents,
|
||||||
grab, client, deliveryMask);
|
grab, client, deliveryMask);
|
||||||
|
@ -2367,10 +2371,10 @@ CheckPassiveGrabsOnWindow(
|
||||||
xkbi= gdev->key->xkbInfo;
|
xkbi= gdev->key->xkbInfo;
|
||||||
#endif
|
#endif
|
||||||
tempGrab.modifierDevice = grab->modifierDevice;
|
tempGrab.modifierDevice = grab->modifierDevice;
|
||||||
if (device == grab->modifierDevice &&
|
if ((device == grab->modifierDevice) &&
|
||||||
(xE->u.u.type == KeyPress
|
((xE->u.u.type == KeyPress)
|
||||||
#ifdef XINPUT
|
#if defined(XINPUT) && defined(XKB)
|
||||||
|| xE->u.u.type == DeviceKeyPress
|
|| (xE->u.u.type == DeviceKeyPress)
|
||||||
#endif
|
#endif
|
||||||
))
|
))
|
||||||
tempGrab.modifiersDetail.exact =
|
tempGrab.modifiersDetail.exact =
|
||||||
|
@ -2455,11 +2459,11 @@ CheckDeviceGrabs(device, xE, checkFirst, count)
|
||||||
register WindowPtr pWin = NULL;
|
register WindowPtr pWin = NULL;
|
||||||
register FocusClassPtr focus = device->focus;
|
register FocusClassPtr focus = device->focus;
|
||||||
|
|
||||||
if ((xE->u.u.type == ButtonPress
|
if (((xE->u.u.type == ButtonPress)
|
||||||
#ifdef XINPUT
|
#if defined(XINPUT) && defined(XKB)
|
||||||
|| xE->u.u.type == DeviceButtonPress
|
|| (xE->u.u.type == DeviceButtonPress)
|
||||||
#endif
|
#endif
|
||||||
) && device->button->buttonsDown != 1)
|
) && (device->button->buttonsDown != 1))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
i = checkFirst;
|
i = checkFirst;
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
.\" not be used in advertising or otherwise to promote the sale, use or
|
.\" not be used in advertising or otherwise to promote the sale, use or
|
||||||
.\" other dealings in this Software without prior written authorization
|
.\" other dealings in this Software without prior written authorization
|
||||||
.\" from The Open Group.
|
.\" 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.
|
.\" shorthand for double quote that works everywhere.
|
||||||
.ds q \N'34'
|
.ds q \N'34'
|
||||||
.TH XSERVER 1 __xorgversion__
|
.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
|
frequently a link or a copy of the appropriate server binary for
|
||||||
driving the most frequently used server on a given machine.
|
driving the most frequently used server on a given machine.
|
||||||
.SH "STARTING THE SERVER"
|
.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
|
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 server running, prompting for usernames and passwords, and starting up
|
||||||
the user sessions.
|
the user sessions.
|
||||||
.PP
|
.PP
|
||||||
Installations that run more than one window system may need to use the
|
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
|
to be considered a tool for building startup scripts and is not
|
||||||
intended for use by end users. Site administrators are \fBstrongly\fP
|
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
|
.PP
|
||||||
The X server may also be started directly by the user, though this
|
The X server may also be started directly by the user, though this
|
||||||
method is usually reserved for testing and is not recommended for
|
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
|
.TP 8
|
||||||
.B \-auth \fIauthorization-file\fP
|
.B \-auth \fIauthorization-file\fP
|
||||||
specifies a file which contains a collection of authorization records used
|
specifies a file which contains a collection of authorization records used
|
||||||
to authenticate access. See also the \fIxdm\fP and \fIXsecurity\fP manual
|
to authenticate access. See also the \fIxdm\fP(1) and
|
||||||
pages.
|
\fIXsecurity\fP(__miscmansuffix__) manual pages.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B bc
|
.B bc
|
||||||
disables certain kinds of error checking, for bug compatibility with
|
disables certain kinds of error checking, for bug compatibility with
|
||||||
|
@ -139,15 +140,23 @@ different from the user's real uid.
|
||||||
.B \-core
|
.B \-core
|
||||||
causes the server to generate a core dump on fatal errors.
|
causes the server to generate a core dump on fatal errors.
|
||||||
.TP 8
|
.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
|
.B \-dpi \fIresolution\fP
|
||||||
sets the resolution for all screens, in dots per inch.
|
sets the resolution for all screens, in dots per inch.
|
||||||
To be used when the server cannot determine the screen size(s) from the
|
To be used when the server cannot determine the screen size(s) from the
|
||||||
hardware.
|
hardware.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B \-deferglyphs \fIwhichfonts\fP
|
.B dpms
|
||||||
specifies the types of fonts for which the server should attempt to use
|
enables DPMS (display power management services), where supported. The
|
||||||
deferred glyph loading. \fIwhichfonts\fP can be all (all fonts),
|
default state is platform and configuration specific.
|
||||||
none (no fonts), or 16 (16 bit fonts only).
|
.TP 8
|
||||||
|
.B \-dpms
|
||||||
|
disables DPMS (display power management services). The default state
|
||||||
|
is platform and configuration specific.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B \-f \fIvolume\fP
|
.B \-f \fIvolume\fP
|
||||||
sets feep (bell) volume (allowable range: 0-100).
|
sets feep (bell) volume (allowable range: 0-100).
|
||||||
|
@ -161,6 +170,8 @@ sets the default font.
|
||||||
.B \-fp \fIfontPath\fP
|
.B \-fp \fIfontPath\fP
|
||||||
sets the search path for fonts. This path is a comma separated list
|
sets the search path for fonts. This path is a comma separated list
|
||||||
of directories which the X server searches for font databases.
|
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
|
.TP 8
|
||||||
.B \-help
|
.B \-help
|
||||||
prints a usage message.
|
prints a usage message.
|
||||||
|
@ -168,6 +179,11 @@ prints a usage message.
|
||||||
.B \-I
|
.B \-I
|
||||||
causes all remaining command line arguments to be ignored.
|
causes all remaining command line arguments to be ignored.
|
||||||
.TP 8
|
.TP 8
|
||||||
|
.B \-maxbigreqsize \fIsize\fP
|
||||||
|
sets the maxmium big request to
|
||||||
|
.I size
|
||||||
|
MB.
|
||||||
|
.TP 8
|
||||||
.B \-nolisten \fItrans-type\fP
|
.B \-nolisten \fItrans-type\fP
|
||||||
disables a transport type. For example, TCP/IP connections can be disabled
|
disables a transport type. For example, TCP/IP connections can be disabled
|
||||||
with
|
with
|
||||||
|
@ -187,7 +203,11 @@ sets screen-saver pattern cycle time in minutes.
|
||||||
.B \-pn
|
.B \-pn
|
||||||
permits the server to continue running if it fails to establish all of
|
permits the server to continue running if it fails to establish all of
|
||||||
its well-known sockets (connection points for clients), but
|
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
|
.TP 8
|
||||||
.B \-r
|
.B \-r
|
||||||
turns off auto-repeat.
|
turns off auto-repeat.
|
||||||
|
@ -243,7 +263,7 @@ This is a no-op for most implementations.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B [+-]xinerama
|
.B [+-]xinerama
|
||||||
enables(+) or disables(-) the XINERAMA extension. The default state is
|
enables(+) or disables(-) the XINERAMA extension. The default state is
|
||||||
disabled.
|
platform and configuration specific.
|
||||||
.SH SERVER DEPENDENT OPTIONS
|
.SH SERVER DEPENDENT OPTIONS
|
||||||
Some X servers accept the following options:
|
Some X servers accept the following options:
|
||||||
.TP 8
|
.TP 8
|
||||||
|
@ -288,6 +308,14 @@ use a gray map of 13 color cells for the X render extension.
|
||||||
.I color
|
.I color
|
||||||
use a color cube of at most 4*4*4 colors (that is 64 color cells).
|
use a color cube of at most 4*4*4 colors (that is 64 color cells).
|
||||||
.RE
|
.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
|
.SH XDMCP OPTIONS
|
||||||
X servers that support XDMCP have the following options.
|
X servers that support XDMCP have the following options.
|
||||||
See the \fIX Display Manager Control Protocol\fP specification for more
|
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
|
.B \-broadcast
|
||||||
enable XDMCP and broadcasts BroadcastQuery packets to the network. The
|
enable XDMCP and broadcasts BroadcastQuery packets to the network. The
|
||||||
first responding display manager will be chosen for the session.
|
first responding display manager will be chosen for the session.
|
||||||
|
.TP 8
|
||||||
.B \-multicast [\fIaddress\fP [\fIhop count\fP]]
|
.B \-multicast [\fIaddress\fP [\fIhop count\fP]]
|
||||||
Enable XDMCP and multicast BroadcastQuery packets to the network.
|
Enable XDMCP and multicast BroadcastQuery packets to the network.
|
||||||
The first responding display manager is chosen for the session. If an
|
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
|
.TP 8
|
||||||
.B \-port \fIport-number\fP
|
.B \-port \fIport-number\fP
|
||||||
uses the specified \fIport-number\fP for XDMCP packets, instead of the
|
uses the specified \fIport-number\fP for XDMCP packets, instead of the
|
||||||
default. This option must be specified before any \-query, \-broadcast or
|
default. This option must be specified before any \-query, \-broadcast,
|
||||||
\-indirect options.
|
\-multicast, or \-indirect options.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B \-from \fIlocal-address\fP
|
.B \-from \fIlocal-address\fP
|
||||||
specifies the local address to connect from (useful if the connecting host
|
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.
|
identify each display so that it can locate the shared key.
|
||||||
.SH XKEYBOARD OPTIONS
|
.SH XKEYBOARD OPTIONS
|
||||||
X servers that support the XKEYBOARD (a.k.a. \*qXKB\*q) extension accept the
|
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
|
.TP 8
|
||||||
.B [+-]kb
|
.B [+-]kb
|
||||||
enables(+) or disables(-) the XKEYBOARD extension.
|
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 X server supports client connections via a platform-dependent subset of
|
||||||
the following transport types: TCP\/IP, Unix Domain sockets, DECnet,
|
the following transport types: TCP\/IP, Unix Domain sockets, DECnet,
|
||||||
and several varieties of SVR4 local connections. See the DISPLAY
|
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.
|
specify which transport type clients should try to use.
|
||||||
.SH GRANTING ACCESS
|
.SH GRANTING ACCESS
|
||||||
The X server implements a platform-dependent subset of the following
|
The X server implements a platform-dependent subset of the following
|
||||||
authorization protocols: MIT-MAGIC-COOKIE-1, XDM-AUTHORIZATION-1,
|
authorization protocols: MIT-MAGIC-COOKIE-1, XDM-AUTHORIZATION-1,
|
||||||
SUN-DES-1, and MIT-KERBEROS-5. See the \fIXsecurity\fP(__miscmansuffix__)
|
XDM-AUTHORIZATION-2, SUN-DES-1, and MIT-KERBEROS-5. See the
|
||||||
manual page for information on the operation of these protocols.
|
\fIXsecurity\fP(__miscmansuffix__) manual page for information on the
|
||||||
|
operation of these protocols.
|
||||||
.PP
|
.PP
|
||||||
Authorization data required by the above protocols is passed to the
|
Authorization data required by the above protocols is passed to the
|
||||||
server in a private file named with the \fB\-auth\fP command line
|
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
|
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
|
\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
|
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
|
hostname in double colon format (e.g. hydra::) or a complete name in the format
|
||||||
or trailing spaces on any lines. For example:
|
\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
|
.sp
|
||||||
.in +8
|
.in +8
|
||||||
.nf
|
.nf
|
||||||
joesworkstation
|
joesworkstation
|
||||||
corporate.company.com
|
corporate.company.com
|
||||||
star::
|
star::
|
||||||
bigcpu::
|
inet:bigcpu
|
||||||
|
local:
|
||||||
.fi
|
.fi
|
||||||
.in -8
|
.in -8
|
||||||
.PP
|
.PP
|
||||||
|
@ -691,11 +726,7 @@ the X server uses when trying to open a font is controlled
|
||||||
by the \fIfont path\fP.
|
by the \fIfont path\fP.
|
||||||
.LP
|
.LP
|
||||||
The default font path is
|
The default font path is
|
||||||
__projectroot__/lib/X11/fonts/misc/,
|
__default_font_path__ .
|
||||||
__projectroot__/lib/X11/fonts/Speedo/,
|
|
||||||
__projectroot__/lib/X11/fonts/Type1/,
|
|
||||||
__projectroot__/lib/X11/fonts/75dpi/,
|
|
||||||
__projectroot__/lib/X11/fonts/100dpi/" .
|
|
||||||
.LP
|
.LP
|
||||||
The font path can be set with the \fB\-fp\fP option or by \fIxset\fP(1)
|
The font path can be set with the \fB\-fp\fP option or by \fIxset\fP(1)
|
||||||
after the server has started.
|
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
|
.IR __projectroot__/lib/X11/fonts/misc , __projectroot__/lib/X11/fonts/75dpi , __projectroot__/lib/X11/fonts/100dpi
|
||||||
Bitmap font directories
|
Bitmap font directories
|
||||||
.TP 30
|
.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
|
Outline font directories
|
||||||
.TP 30
|
.TP 30
|
||||||
.I __projectroot__/lib/X11/rgb.txt
|
.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
|
Kerberos 5 replay cache for display number \fBn\fP
|
||||||
.TP 30
|
.TP 30
|
||||||
.I /usr/adm/X\fBn\fPmsgs
|
.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
|
.TP 30
|
||||||
.I __projectroot__/lib/X11/xdm/xdm-errors
|
.I __projectroot__/lib/X11/xdm/xdm-errors
|
||||||
Default error log file if the server is run from \fIxdm\fP(1)
|
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 "The X Font Service Protocol,"
|
||||||
.I "X Display Manager Control Protocol"
|
.I "X Display Manager Control Protocol"
|
||||||
.PP
|
.PP
|
||||||
Fonts: \fIbdftopcf\fP(1), \fImkfontdir\fP(1), \fIxfs\fP(1),
|
Fonts: \fIbdftopcf\fP(1), \fImkfontdir\fP(1), \fImkfontscale\fP(1),
|
||||||
\fIxlsfonts\fP(1), \fIxfontsel\fP(1), \fIxfd\fP(1),
|
\fIxfs\fP(1), \fIxlsfonts\fP(1), \fIxfontsel\fP(1), \fIxfd\fP(1),
|
||||||
.I "X Logical Font Description Conventions"
|
.I "X Logical Font Description Conventions"
|
||||||
.PP
|
.PP
|
||||||
Security: \fIXsecurity\fP(__miscmansuffix__), \fIxauth\fP(1), \fIXau\fP(1),
|
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"
|
.I "Security Extension Specification"
|
||||||
.PP
|
.PP
|
||||||
Starting the server: \fIxdm(1)\fP, \fIxinit\fP(1)
|
Starting the server: \fIxdm\fP(1), \fIxinit\fP(1)
|
||||||
.PP
|
.PP
|
||||||
Controlling the server once started: \fIxset\fP(1), \fIxsetroot\fP(1),
|
Controlling the server once started: \fIxset\fP(1), \fIxsetroot\fP(1),
|
||||||
\fIxhost\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
|
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* 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"
|
#include "fb.h"
|
||||||
#ifdef IN_MODULE
|
#ifdef IN_MODULE
|
||||||
|
@ -398,7 +398,10 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
||||||
int dx;
|
int dx;
|
||||||
int dy;
|
int dy;
|
||||||
int numRects;
|
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 fastSrc = FALSE; /* for fast clipping with pixmap source */
|
||||||
Bool fastDst = FALSE; /* for fast clipping with one rect dest */
|
Bool fastDst = FALSE; /* for fast clipping with one rect dest */
|
||||||
Bool fastExpose = FALSE; /* for fast exposures with pixmap source */
|
Bool fastExpose = FALSE; /* for fast exposures with pixmap source */
|
||||||
|
@ -466,10 +469,10 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
||||||
xOut += pDstDrawable->x;
|
xOut += pDstDrawable->x;
|
||||||
yOut += pDstDrawable->y;
|
yOut += pDstDrawable->y;
|
||||||
|
|
||||||
box.x1 = xIn;
|
box_x1 = xIn;
|
||||||
box.y1 = yIn;
|
box_y1 = yIn;
|
||||||
box.x2 = xIn + widthSrc;
|
box_x2 = xIn + widthSrc;
|
||||||
box.y2 = yIn + heightSrc;
|
box_y2 = yIn + heightSrc;
|
||||||
|
|
||||||
dx = xIn - xOut;
|
dx = xIn - xOut;
|
||||||
dy = yIn - yOut;
|
dy = yIn - yOut;
|
||||||
|
@ -484,32 +487,32 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
||||||
* clip the source; if regions extend beyond the source size,
|
* clip the source; if regions extend beyond the source size,
|
||||||
* make sure exposure events get sent
|
* 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;
|
fastExpose = FALSE;
|
||||||
}
|
}
|
||||||
if (box.y1 < pSrcDrawable->y)
|
if (box_y1 < pSrcDrawable->y)
|
||||||
{
|
{
|
||||||
box.y1 = pSrcDrawable->y;
|
box_y1 = pSrcDrawable->y;
|
||||||
fastExpose = FALSE;
|
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;
|
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;
|
fastExpose = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Translate and clip the dst to the destination composite clip */
|
/* Translate and clip the dst to the destination composite clip */
|
||||||
box.x1 -= dx;
|
box_x1 -= dx;
|
||||||
box.x2 -= dx;
|
box_x2 -= dx;
|
||||||
box.y1 -= dy;
|
box_y1 -= dy;
|
||||||
box.y2 -= dy;
|
box_y2 -= dy;
|
||||||
|
|
||||||
/* If the destination composite clip is one rectangle we can
|
/* If the destination composite clip is one rectangle we can
|
||||||
do the clip directly. Otherwise we have to create a full
|
do the clip directly. Otherwise we have to create a full
|
||||||
|
@ -520,21 +523,26 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
||||||
{
|
{
|
||||||
BoxPtr pBox = REGION_RECTS(cclip);
|
BoxPtr pBox = REGION_RECTS(cclip);
|
||||||
|
|
||||||
if (box.x1 < pBox->x1) box.x1 = pBox->x1;
|
if (box_x1 < pBox->x1) box_x1 = pBox->x1;
|
||||||
if (box.x2 > pBox->x2) box.x2 = pBox->x2;
|
if (box_x2 > pBox->x2) box_x2 = pBox->x2;
|
||||||
if (box.y1 < pBox->y1) box.y1 = pBox->y1;
|
if (box_y1 < pBox->y1) box_y1 = pBox->y1;
|
||||||
if (box.y2 > pBox->y2) box.y2 = pBox->y2;
|
if (box_y2 > pBox->y2) box_y2 = pBox->y2;
|
||||||
fastDst = TRUE;
|
fastDst = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check to see if the region is empty */
|
/* 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);
|
REGION_NULL(pGC->pScreen, &rgnDst);
|
||||||
}
|
}
|
||||||
else
|
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);
|
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
|
promote the sale, use or other dealings in this Software without
|
||||||
prior written authorization.
|
prior written authorization.
|
||||||
*/
|
*/
|
||||||
/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartzKeyboard.c,v 1.1 2003/11/01 08:13:08 torrey Exp $ */
|
/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartzKeyboard.c,v 1.2 2004/01/19 01:22:47 torrey Exp $ */
|
||||||
|
|
||||||
#ifdef HAS_KL_API
|
|
||||||
|
|
||||||
#include "quartzCommon.h"
|
#include "quartzCommon.h"
|
||||||
|
|
||||||
|
@ -45,6 +43,8 @@
|
||||||
#include "keysym.h"
|
#include "keysym.h"
|
||||||
#include "keysym2ucs.h"
|
#include "keysym2ucs.h"
|
||||||
|
|
||||||
|
#ifdef HAS_KL_API
|
||||||
|
|
||||||
#define HACK_MISSING 1
|
#define HACK_MISSING 1
|
||||||
#define HACK_KEYPAD 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.
|
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||||
|
@ -57,7 +57,6 @@ extern int xf86PixmapIndex;
|
||||||
extern Bool xf86ResAccessEnter;
|
extern Bool xf86ResAccessEnter;
|
||||||
extern ScrnInfoPtr *xf86Screens; /* List of pointers to ScrnInfoRecs */
|
extern ScrnInfoPtr *xf86Screens; /* List of pointers to ScrnInfoRecs */
|
||||||
extern const unsigned char byte_reversed[256];
|
extern const unsigned char byte_reversed[256];
|
||||||
extern PropertyPtr *xf86RegisteredPropertiesTable;
|
|
||||||
extern ScrnInfoPtr xf86CurrentScreen;
|
extern ScrnInfoPtr xf86CurrentScreen;
|
||||||
extern Bool pciSlotClaimed;
|
extern Bool pciSlotClaimed;
|
||||||
extern Bool isaSlotClaimed;
|
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.
|
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||||
|
@ -236,7 +236,7 @@ Bool xf86VidModeAllowNonLocal = FALSE;
|
||||||
Bool xf86MiscModInDevDisabled = FALSE;
|
Bool xf86MiscModInDevDisabled = FALSE;
|
||||||
Bool xf86MiscModInDevAllowNonLocal = FALSE;
|
Bool xf86MiscModInDevAllowNonLocal = FALSE;
|
||||||
#endif
|
#endif
|
||||||
PropertyPtr *xf86RegisteredPropertiesTable = NULL;
|
RootWinPropPtr *xf86RegisteredPropertiesTable = NULL;
|
||||||
Bool xf86inSuspend = FALSE;
|
Bool xf86inSuspend = FALSE;
|
||||||
|
|
||||||
#ifdef DLOPEN_HACK
|
#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.
|
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||||
|
@ -2888,11 +2888,12 @@ int
|
||||||
xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
||||||
int format, unsigned long len, pointer value )
|
int format, unsigned long len, pointer value )
|
||||||
{
|
{
|
||||||
PropertyPtr pNewProp, pRegProp;
|
RootWinPropPtr pNewProp = NULL, pRegProp;
|
||||||
int i;
|
int i;
|
||||||
|
Bool existing = FALSE;
|
||||||
|
|
||||||
#ifdef DEBUG
|
#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);
|
ScrnIndex, property, type, format, len, value);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2900,19 +2901,35 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
||||||
return(BadMatch);
|
return(BadMatch);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (pNewProp = (PropertyPtr)xalloc(sizeof(PropertyRec)))==NULL ) {
|
if (xf86RegisteredPropertiesTable &&
|
||||||
return(BadAlloc);
|
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->type = type;
|
||||||
pNewProp->format = format;
|
pNewProp->format = format;
|
||||||
pNewProp->size = len;
|
pNewProp->size = len;
|
||||||
pNewProp->data = value;
|
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
|
#ifdef DEBUG
|
||||||
ErrorF("new property filled\n");
|
ErrorF("new property filled\n");
|
||||||
|
@ -2923,7 +2940,7 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
||||||
ErrorF("creating xf86RegisteredPropertiesTable[] size %d\n",
|
ErrorF("creating xf86RegisteredPropertiesTable[] size %d\n",
|
||||||
xf86NumScreens);
|
xf86NumScreens);
|
||||||
#endif
|
#endif
|
||||||
if ( NULL==(xf86RegisteredPropertiesTable=(PropertyPtr*)xnfcalloc(sizeof(PropertyPtr),xf86NumScreens) )) {
|
if ( NULL==(xf86RegisteredPropertiesTable=(RootWinPropPtr*)xnfcalloc(sizeof(RootWinProp),xf86NumScreens) )) {
|
||||||
return(BadAlloc);
|
return(BadAlloc);
|
||||||
}
|
}
|
||||||
for (i=0; i<xf86NumScreens; i++) {
|
for (i=0; i<xf86NumScreens; i++) {
|
||||||
|
@ -2933,23 +2950,25 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
ErrorF("xf86RegisteredPropertiesTable %p\n",
|
ErrorF("xf86RegisteredPropertiesTable %p\n",
|
||||||
xf86RegisteredPropertiesTable);
|
(void *)xf86RegisteredPropertiesTable);
|
||||||
ErrorF("xf86RegisteredPropertiesTable[%d] %p\n",
|
ErrorF("xf86RegisteredPropertiesTable[%d] %p\n",
|
||||||
ScrnIndex, xf86RegisteredPropertiesTable[ScrnIndex]);
|
ScrnIndex, (void *)xf86RegisteredPropertiesTable[ScrnIndex]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (!existing) {
|
||||||
if ( xf86RegisteredPropertiesTable[ScrnIndex] == NULL) {
|
if ( xf86RegisteredPropertiesTable[ScrnIndex] == NULL) {
|
||||||
xf86RegisteredPropertiesTable[ScrnIndex] = pNewProp;
|
xf86RegisteredPropertiesTable[ScrnIndex] = pNewProp;
|
||||||
} else {
|
} else {
|
||||||
pRegProp = xf86RegisteredPropertiesTable[ScrnIndex];
|
pRegProp = xf86RegisteredPropertiesTable[ScrnIndex];
|
||||||
while (pRegProp->next != NULL) {
|
while (pRegProp->next != NULL) {
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
ErrorF("- next %p\n", pRegProp);
|
ErrorF("- next %p\n", (void *)pRegProp);
|
||||||
#endif
|
#endif
|
||||||
pRegProp = pRegProp->next;
|
pRegProp = pRegProp->next;
|
||||||
}
|
}
|
||||||
pRegProp->next = pNewProp;
|
pRegProp->next = pNewProp;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
ErrorF("xf86RegisterRootWindowProperty succeeded\n");
|
ErrorF("xf86RegisterRootWindowProperty succeeded\n");
|
||||||
#endif
|
#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:
|
* Loosely based on code bearing the following copyright:
|
||||||
|
@ -155,7 +155,7 @@ xf86CreateRootWindow(WindowPtr pWin)
|
||||||
int ret = TRUE;
|
int ret = TRUE;
|
||||||
int err = Success;
|
int err = Success;
|
||||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||||
PropertyPtr pRegProp, pOldRegProp;
|
RootWinPropPtr pProp;
|
||||||
CreateWindowProcPtr CreateWindow =
|
CreateWindowProcPtr CreateWindow =
|
||||||
(CreateWindowProcPtr)(pScreen->devPrivates[xf86CreateRootWindowIndex].ptr);
|
(CreateWindowProcPtr)(pScreen->devPrivates[xf86CreateRootWindowIndex].ptr);
|
||||||
|
|
||||||
|
@ -181,25 +181,19 @@ xf86CreateRootWindow(WindowPtr pWin)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Now do our stuff */
|
/* Now do our stuff */
|
||||||
|
|
||||||
if (xf86RegisteredPropertiesTable != NULL) {
|
if (xf86RegisteredPropertiesTable != NULL) {
|
||||||
if (pWin->parent == NULL && xf86RegisteredPropertiesTable != NULL) {
|
if (pWin->parent == NULL && xf86RegisteredPropertiesTable != NULL) {
|
||||||
for (pRegProp = xf86RegisteredPropertiesTable[pScreen->myNum];
|
for (pProp = xf86RegisteredPropertiesTable[pScreen->myNum];
|
||||||
pRegProp != NULL && err==Success;
|
pProp != NULL && err==Success;
|
||||||
pRegProp = pRegProp->next )
|
pProp = pProp->next )
|
||||||
{
|
{
|
||||||
Atom oldNameAtom = pRegProp->propertyName;
|
Atom prop;
|
||||||
char *nameString;
|
|
||||||
/* propertyName was created before the screen existed,
|
prop = MakeAtom(pProp->name, strlen(pProp->name), TRUE);
|
||||||
* 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);
|
|
||||||
err = ChangeWindowProperty(pWin,
|
err = ChangeWindowProperty(pWin,
|
||||||
pRegProp->propertyName, pRegProp->type,
|
prop, pProp->type,
|
||||||
pRegProp->format, PropModeReplace,
|
pProp->format, PropModeReplace,
|
||||||
pRegProp->size, pRegProp->data,
|
pProp->size, pProp->data,
|
||||||
FALSE
|
FALSE
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -207,14 +201,6 @@ xf86CreateRootWindow(WindowPtr pWin)
|
||||||
/* Look at err */
|
/* Look at err */
|
||||||
ret &= (err==Success);
|
ret &= (err==Success);
|
||||||
|
|
||||||
/* free memory */
|
|
||||||
pOldRegProp = xf86RegisteredPropertiesTable[pScreen->myNum];
|
|
||||||
while (pOldRegProp!=NULL) {
|
|
||||||
pRegProp = pOldRegProp->next;
|
|
||||||
xfree(pOldRegProp);
|
|
||||||
pOldRegProp = pRegProp;
|
|
||||||
}
|
|
||||||
xf86RegisteredPropertiesTable[pScreen->myNum] = NULL;
|
|
||||||
} else {
|
} else {
|
||||||
xf86Msg(X_ERROR, "xf86CreateRootWindow unexpectedly called with "
|
xf86Msg(X_ERROR, "xf86CreateRootWindow unexpectedly called with "
|
||||||
"non-root window %p (parent %p)\n",
|
"non-root window %p (parent %p)\n",
|
||||||
|
@ -303,7 +289,6 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
|
||||||
xf86ScreenIndex = AllocateScreenPrivateIndex();
|
xf86ScreenIndex = AllocateScreenPrivateIndex();
|
||||||
xf86CreateRootWindowIndex = AllocateScreenPrivateIndex();
|
xf86CreateRootWindowIndex = AllocateScreenPrivateIndex();
|
||||||
xf86PixmapIndex = AllocatePixmapPrivateIndex();
|
xf86PixmapIndex = AllocatePixmapPrivateIndex();
|
||||||
xf86RegisteredPropertiesTable=NULL;
|
|
||||||
generation = serverGeneration;
|
generation = serverGeneration;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -749,6 +734,32 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
|
||||||
}
|
}
|
||||||
formatsDone = TRUE;
|
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 */
|
/* If a screen uses depth 24, show what the pixmap format is */
|
||||||
for (i = 0; i < xf86NumScreens; i++) {
|
for (i = 0; i < xf86NumScreens; i++) {
|
||||||
if (xf86Screens[i]->depth == 24) {
|
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.
|
* 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 xf86ProbeOnly;
|
||||||
extern Bool xf86DoProbe;
|
extern Bool xf86DoProbe;
|
||||||
|
|
||||||
|
extern RootWinPropPtr *xf86RegisteredPropertiesTable;
|
||||||
|
|
||||||
#ifndef DEFAULT_VERBOSE
|
#ifndef DEFAULT_VERBOSE
|
||||||
#define DEFAULT_VERBOSE 0
|
#define DEFAULT_VERBOSE 0
|
||||||
#endif
|
#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.
|
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||||
|
@ -198,6 +198,16 @@ typedef struct {
|
||||||
} VidModeRec, *VidModePtr;
|
} VidModeRec, *VidModePtr;
|
||||||
#endif
|
#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 */
|
/* private resource types */
|
||||||
#define ResNoAvoid ResBios
|
#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
|
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-
|
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-
|
ings, but instead uses its own database of encodings.
|
||||||
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
|
Since the functionalities for CJKV support introduced by X-TT have been
|
||||||
the future. Therefore, the use of FreeType backend is preferred over the X-
|
merged into the new FreeType backend, the X-TT backend will be removed from
|
||||||
TT backend. General information on X-TrueType may be found at ."
|
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
|
4.2.3 Delayed glyph rasterisation
|
||||||
|
|
||||||
When loading a large character set, the old FreeType delayed glyph rasterisa-
|
When loading a proportional fonts which contain a huge number of glyphs, the
|
||||||
tion until the time at which the glyph was first used. The new FreeType
|
old FreeType delayed glyph rasterisation until the time at which the glyph
|
||||||
(libfreetype-xtt2) has an improved `very lazy' metric calculation method to
|
was first used. The new FreeType (libfreetype-xtt2) has an improved `very
|
||||||
speed up the process when loading TrueType or OpenType fonts. Although the
|
lazy' metric calculation method to speed up the process when loading TrueType
|
||||||
X-TT module also has this method, the "vl=y" TTCap option must be set if you
|
or OpenType fonts. Although the X-TT module also has this method, the
|
||||||
want to use it. This is the default method for FreeType when it loads multi-
|
"vl=y" TTCap option must be set if you want to use it. This is the default
|
||||||
byte fonts. Even if you use a unicode font which has tens of thousands of
|
method for FreeType when it loads multi-byte fonts. Even if you use a uni-
|
||||||
glyphs, this delay will not be worrisome as long as you use the new FreeType
|
code font which has tens of thousands of glyphs, this delay will not be wor-
|
||||||
backend -- its `very lazy' method is super-fast.
|
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
|
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
|
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
|
world, often provide interesting information about character set issues; see
|
||||||
for example RFC 373.
|
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)
|
XFree86 4.3.99.902 (18 December 2003)
|
||||||
672. Fixes for xterm (Thomas Dickey):
|
672. Fixes for xterm (Thomas Dickey):
|
||||||
|
@ -18391,7 +18591,7 @@ XFree86 3.0a (28 April 1994)
|
||||||
XFree86 3.0 (26 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>
|
<article>
|
||||||
|
|
||||||
<title>XFree86 X server ``New Design'' (DRAFT)
|
<title>XFree86 server 4.x Design (DRAFT)
|
||||||
<author>The XFree86 Project, Inc
|
<author>The XFree86 Project, Inc
|
||||||
<date>Last modified 2003 January 22
|
<date>19 December 2003
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
|
|
||||||
<ident>
|
<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>
|
</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
|
* XFree86 int10 module
|
||||||
* execute BIOS int 10h calls in x86 real mode environment
|
* execute BIOS int 10h calls in x86 real mode environment
|
||||||
|
@ -56,7 +56,7 @@ setup_int(xf86Int10InfoPtr pInt)
|
||||||
X86_GS = 0;
|
X86_GS = 0;
|
||||||
X86_EFLAGS = X86_IF_MASK | X86_IOPL_MASK;
|
X86_EFLAGS = X86_IF_MASK | X86_IOPL_MASK;
|
||||||
#if defined (_PC)
|
#if defined (_PC)
|
||||||
if (pInt->flags & SET_BIOS_SCRATCH)
|
if (pInt->Flags & SET_BIOS_SCRATCH)
|
||||||
SetResetBIOSVars(pInt, TRUE);
|
SetResetBIOSVars(pInt, TRUE);
|
||||||
#endif
|
#endif
|
||||||
return xf86BlockSIGIO();
|
return xf86BlockSIGIO();
|
||||||
|
@ -76,7 +76,7 @@ finish_int(xf86Int10InfoPtr pInt, int sig)
|
||||||
pInt->bp = (CARD32) X86_EBP;
|
pInt->bp = (CARD32) X86_EBP;
|
||||||
pInt->flags = (CARD32) X86_FLAGS;
|
pInt->flags = (CARD32) X86_FLAGS;
|
||||||
#if defined (_PC)
|
#if defined (_PC)
|
||||||
if (pInt->flags & RESTORE_BIOS_SCRATCH)
|
if (pInt->Flags & RESTORE_BIOS_SCRATCH)
|
||||||
SetResetBIOSVars(pInt, FALSE);
|
SetResetBIOSVars(pInt, FALSE);
|
||||||
#endif
|
#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 LOOKUP *COFFCreateCOMMON(COFFModulePtr);
|
||||||
static COFFRelocPtr COFFDelayRelocation(COFFModulePtr, int, RELOC *);
|
static COFFRelocPtr COFFDelayRelocation(COFFModulePtr, int, RELOC *);
|
||||||
static SYMENT *COFFGetSymbol(COFFModulePtr, int);
|
static SYMENT *COFFGetSymbol(COFFModulePtr, int);
|
||||||
|
#if defined(i386) || defined(__powerpc__)
|
||||||
static unsigned char *COFFGetSymbolValue(COFFModulePtr, int);
|
static unsigned char *COFFGetSymbolValue(COFFModulePtr, int);
|
||||||
|
#endif
|
||||||
static COFFRelocPtr COFF_RelocateEntry(COFFModulePtr, int, RELOC *);
|
static COFFRelocPtr COFF_RelocateEntry(COFFModulePtr, int, RELOC *);
|
||||||
static LOOKUP *COFF_GetSymbols(COFFModulePtr);
|
static LOOKUP *COFF_GetSymbols(COFFModulePtr);
|
||||||
static void COFFCollectSections(COFFModulePtr);
|
static void COFFCollectSections(COFFModulePtr);
|
||||||
|
@ -298,6 +300,7 @@ COFFGetSymbol(COFFModulePtr file, int index)
|
||||||
return (SYMENT *) (((unsigned char *)file->symtab) + (index * SYMESZ));
|
return (SYMENT *) (((unsigned char *)file->symtab) + (index * SYMESZ));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(i386) || defined(__powerpc__)
|
||||||
static unsigned char *
|
static unsigned char *
|
||||||
COFFGetSymbolValue(COFFModulePtr cofffile, int index)
|
COFFGetSymbolValue(COFFModulePtr cofffile, int index)
|
||||||
{
|
{
|
||||||
|
@ -323,6 +326,7 @@ COFFGetSymbolValue(COFFModulePtr cofffile, int index)
|
||||||
xf86loaderfree(symname);
|
xf86loaderfree(symname);
|
||||||
return symval;
|
return symval;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(__powerpc__)
|
#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.
|
* Copyright (c) 1998-2002 by The XFree86 Project, Inc.
|
||||||
*
|
*
|
||||||
|
@ -37,8 +37,10 @@
|
||||||
#include "fntfil.h"
|
#include "fntfil.h"
|
||||||
#include "fontutil.h"
|
#include "fontutil.h"
|
||||||
#include "fontxlfd.h"
|
#include "fontxlfd.h"
|
||||||
|
#ifdef FONTCACHE
|
||||||
#define _FONTCACHE_SERVER_
|
#define _FONTCACHE_SERVER_
|
||||||
#include "fontcache.h"
|
#include "fontcache.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
LOOKUP fontLookupTab[] = {
|
LOOKUP fontLookupTab[] = {
|
||||||
|
|
||||||
|
@ -89,6 +91,7 @@ LOOKUP fontLookupTab[] = {
|
||||||
SYMFUNC(identifyEncodingFile)
|
SYMFUNC(identifyEncodingFile)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef FONTCACHE
|
||||||
/* fontcache.c */
|
/* fontcache.c */
|
||||||
SYMFUNC(FontCacheGetSettings)
|
SYMFUNC(FontCacheGetSettings)
|
||||||
SYMFUNC(FontCacheGetStatistics)
|
SYMFUNC(FontCacheGetStatistics)
|
||||||
|
@ -99,6 +102,7 @@ LOOKUP fontLookupTab[] = {
|
||||||
SYMFUNC(FontCacheGetEntry)
|
SYMFUNC(FontCacheGetEntry)
|
||||||
SYMFUNC(FontCacheInsertEntry)
|
SYMFUNC(FontCacheInsertEntry)
|
||||||
SYMFUNC(FontCacheGetBitmap)
|
SYMFUNC(FontCacheGetBitmap)
|
||||||
|
#endif
|
||||||
|
|
||||||
{0, 0}
|
{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 1992 by Rich Murphey <Rich@Rice.edu>
|
||||||
* Copyright 1993 by David Wexelblat <dwex@goblin.org>
|
* Copyright 1993 by David Wexelblat <dwex@goblin.org>
|
||||||
|
@ -121,7 +121,7 @@ static struct alpha_bus_window *abw;
|
||||||
static int abw_count = -1;
|
static int abw_count = -1;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
init_abw()
|
init_abw(void)
|
||||||
{
|
{
|
||||||
if (abw_count < 0) {
|
if (abw_count < 0) {
|
||||||
abw_count = alpha_bus_getwindows(ALPHA_BUS_TYPE_PCI_MEM, &abw);
|
abw_count = alpha_bus_getwindows(ALPHA_BUS_TYPE_PCI_MEM, &abw);
|
||||||
|
@ -142,7 +142,7 @@ has_bwx(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
dense_base()
|
dense_base(void)
|
||||||
{
|
{
|
||||||
if (abw_count < 0)
|
if (abw_count < 0)
|
||||||
init_abw();
|
init_abw();
|
||||||
|
@ -154,7 +154,7 @@ dense_base()
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
memory_base()
|
memory_base(void)
|
||||||
{
|
{
|
||||||
if (abw_count < 0)
|
if (abw_count < 0)
|
||||||
init_abw();
|
init_abw();
|
||||||
|
@ -284,11 +284,13 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem)
|
||||||
xf86Msg(X_PROBED,"Machine needs sparse mapping\n");
|
xf86Msg(X_PROBED,"Machine needs sparse mapping\n");
|
||||||
pVidMem->mapMem = mapVidMemSparse;
|
pVidMem->mapMem = mapVidMemSparse;
|
||||||
pVidMem->unmapMem = unmapVidMemSparse;
|
pVidMem->unmapMem = unmapVidMemSparse;
|
||||||
|
#ifndef __NetBSD__
|
||||||
if (axpSystem == -1)
|
if (axpSystem == -1)
|
||||||
axpSystem = bsdGetAXP();
|
axpSystem = bsdGetAXP();
|
||||||
hae_thresh = xf86AXPParams[axpSystem].hae_thresh;
|
hae_thresh = xf86AXPParams[axpSystem].hae_thresh;
|
||||||
hae_mask = xf86AXPParams[axpSystem].hae_mask;
|
hae_mask = xf86AXPParams[axpSystem].hae_mask;
|
||||||
sparse_size = xf86AXPParams[axpSystem].size;
|
sparse_size = xf86AXPParams[axpSystem].size;
|
||||||
|
#endif /* __NetBSD__ */
|
||||||
}
|
}
|
||||||
pVidMem->initialised = TRUE;
|
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);
|
MAP_FLAGS, devMemFd, (off_t)Base + BUS_BASE_BWX);
|
||||||
if (base == MAP_FAILED)
|
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,
|
"xf86MapVidMem", DEV_MEM, Size, Base,
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
}
|
}
|
||||||
|
@ -324,7 +326,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
|
||||||
/* else, mmap /dev/vga */
|
/* else, mmap /dev/vga */
|
||||||
if ((unsigned long)Base < 0xA0000 || (unsigned long)Base >= 0xC0000)
|
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);
|
"xf86MapVidMem", Base);
|
||||||
}
|
}
|
||||||
base = mmap(0, Size,
|
base = mmap(0, Size,
|
||||||
|
@ -372,7 +374,7 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
|
||||||
if ((long)ptr == -1)
|
if ((long)ptr == -1)
|
||||||
{
|
{
|
||||||
xf86Msg(X_WARNING,
|
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));
|
DEV_MEM, Len, Base, Offset, strerror(errno));
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
@ -446,7 +448,9 @@ xf86EnableInterrupts()
|
||||||
|
|
||||||
#define vuip volatile unsigned int *
|
#define vuip volatile unsigned int *
|
||||||
|
|
||||||
|
#ifndef __NetBSD__
|
||||||
static unsigned long msb_set = 0;
|
static unsigned long msb_set = 0;
|
||||||
|
#endif
|
||||||
static pointer memSBase = 0;
|
static pointer memSBase = 0;
|
||||||
static pointer memBase = 0;
|
static pointer memBase = 0;
|
||||||
|
|
||||||
|
@ -490,6 +494,7 @@ struct parms {
|
||||||
u_int64_t hae;
|
u_int64_t hae;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifndef __NetBSD__
|
||||||
static int
|
static int
|
||||||
sethae(u_int64_t hae)
|
sethae(u_int64_t hae)
|
||||||
{
|
{
|
||||||
|
@ -505,6 +510,7 @@ sethae(u_int64_t hae)
|
||||||
return -1;
|
return -1;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif /* __NetBSD__ */
|
||||||
|
|
||||||
static pointer
|
static pointer
|
||||||
mapVidMemSparse(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
|
mapVidMemSparse(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
|
||||||
|
@ -552,11 +558,13 @@ static int
|
||||||
readSparse8(pointer Base, register unsigned long Offset)
|
readSparse8(pointer Base, register unsigned long Offset)
|
||||||
{
|
{
|
||||||
register unsigned long result, shift;
|
register unsigned long result, shift;
|
||||||
|
#ifndef __NetBSD__
|
||||||
register unsigned long msb;
|
register unsigned long msb;
|
||||||
|
#endif
|
||||||
mem_barrier();
|
mem_barrier();
|
||||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||||
shift = (Offset & 0x3) << 3;
|
shift = (Offset & 0x3) << 3;
|
||||||
|
#ifndef __NetBSD__
|
||||||
if (Offset >= (hae_thresh)) {
|
if (Offset >= (hae_thresh)) {
|
||||||
msb = Offset & hae_mask;
|
msb = Offset & hae_mask;
|
||||||
Offset -= msb;
|
Offset -= msb;
|
||||||
|
@ -565,7 +573,7 @@ readSparse8(pointer Base, register unsigned long Offset)
|
||||||
msb_set = msb;
|
msb_set = msb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
result = *(vuip) ((unsigned long)memSBase + (Offset << 5));
|
result = *(vuip) ((unsigned long)memSBase + (Offset << 5));
|
||||||
result >>= shift;
|
result >>= shift;
|
||||||
return 0xffUL & result;
|
return 0xffUL & result;
|
||||||
|
@ -575,11 +583,14 @@ static int
|
||||||
readSparse16(pointer Base, register unsigned long Offset)
|
readSparse16(pointer Base, register unsigned long Offset)
|
||||||
{
|
{
|
||||||
register unsigned long result, shift;
|
register unsigned long result, shift;
|
||||||
|
#ifndef __NetBSD__
|
||||||
register unsigned long msb;
|
register unsigned long msb;
|
||||||
|
#endif
|
||||||
|
|
||||||
mem_barrier();
|
mem_barrier();
|
||||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||||
shift = (Offset & 0x2) << 3;
|
shift = (Offset & 0x2) << 3;
|
||||||
|
#ifndef __NetBSD__
|
||||||
if (Offset >= (hae_thresh)) {
|
if (Offset >= (hae_thresh)) {
|
||||||
msb = Offset & hae_mask;
|
msb = Offset & hae_mask;
|
||||||
Offset -= msb;
|
Offset -= msb;
|
||||||
|
@ -588,6 +599,7 @@ readSparse16(pointer Base, register unsigned long Offset)
|
||||||
msb_set = msb;
|
msb_set = msb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
result = *(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2)));
|
result = *(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2)));
|
||||||
result >>= shift;
|
result >>= shift;
|
||||||
return 0xffffUL & result;
|
return 0xffffUL & result;
|
||||||
|
@ -603,11 +615,14 @@ readSparse32(pointer Base, register unsigned long Offset)
|
||||||
static void
|
static void
|
||||||
writeSparse8(int Value, pointer Base, register unsigned long Offset)
|
writeSparse8(int Value, pointer Base, register unsigned long Offset)
|
||||||
{
|
{
|
||||||
|
#ifndef __NetBSD__
|
||||||
register unsigned long msb;
|
register unsigned long msb;
|
||||||
|
#endif
|
||||||
register unsigned int b = Value & 0xffU;
|
register unsigned int b = Value & 0xffU;
|
||||||
|
|
||||||
write_mem_barrier();
|
write_mem_barrier();
|
||||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||||
|
#ifndef __NetBSD__
|
||||||
if (Offset >= (hae_thresh)) {
|
if (Offset >= (hae_thresh)) {
|
||||||
msb = Offset & hae_mask;
|
msb = Offset & hae_mask;
|
||||||
Offset -= msb;
|
Offset -= msb;
|
||||||
|
@ -616,17 +631,21 @@ writeSparse8(int Value, pointer Base, register unsigned long Offset)
|
||||||
msb_set = msb;
|
msb_set = msb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
|
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
writeSparse16(int Value, pointer Base, register unsigned long Offset)
|
writeSparse16(int Value, pointer Base, register unsigned long Offset)
|
||||||
{
|
{
|
||||||
|
#ifndef __NetBSD__
|
||||||
register unsigned long msb;
|
register unsigned long msb;
|
||||||
|
#endif
|
||||||
register unsigned int w = Value & 0xffffU;
|
register unsigned int w = Value & 0xffffU;
|
||||||
|
|
||||||
write_mem_barrier();
|
write_mem_barrier();
|
||||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||||
|
#ifndef __NetBSD__
|
||||||
if (Offset >= (hae_thresh)) {
|
if (Offset >= (hae_thresh)) {
|
||||||
msb = Offset & hae_mask;
|
msb = Offset & hae_mask;
|
||||||
Offset -= msb;
|
Offset -= msb;
|
||||||
|
@ -635,6 +654,7 @@ writeSparse16(int Value, pointer Base, register unsigned long Offset)
|
||||||
msb_set = msb;
|
msb_set = msb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
|
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
|
||||||
w * 0x00010001;
|
w * 0x00010001;
|
||||||
|
|
||||||
|
@ -651,10 +671,13 @@ writeSparse32(int Value, pointer Base, register unsigned long Offset)
|
||||||
static void
|
static void
|
||||||
writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
|
writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
|
||||||
{
|
{
|
||||||
|
#ifndef __NetBSD__
|
||||||
register unsigned long msb;
|
register unsigned long msb;
|
||||||
|
#endif
|
||||||
register unsigned int b = Value & 0xffU;
|
register unsigned int b = Value & 0xffU;
|
||||||
|
|
||||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||||
|
#ifndef __NetBSD__
|
||||||
if (Offset >= (hae_thresh)) {
|
if (Offset >= (hae_thresh)) {
|
||||||
msb = Offset & hae_mask;
|
msb = Offset & hae_mask;
|
||||||
Offset -= msb;
|
Offset -= msb;
|
||||||
|
@ -663,16 +686,20 @@ writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
|
||||||
msb_set = msb;
|
msb_set = msb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
|
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
|
writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
|
||||||
{
|
{
|
||||||
|
#ifndef __NetBSD__
|
||||||
register unsigned long msb;
|
register unsigned long msb;
|
||||||
|
#endif
|
||||||
register unsigned int w = Value & 0xffffU;
|
register unsigned int w = Value & 0xffffU;
|
||||||
|
|
||||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||||
|
#ifndef __NetBSD__
|
||||||
if (Offset >= (hae_thresh)) {
|
if (Offset >= (hae_thresh)) {
|
||||||
msb = Offset & hae_mask ;
|
msb = Offset & hae_mask ;
|
||||||
Offset -= msb;
|
Offset -= msb;
|
||||||
|
@ -681,6 +708,7 @@ writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
|
||||||
msb_set = msb;
|
msb_set = msb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
|
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
|
||||||
w * 0x00010001;
|
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.
|
* Copyright (c) 2002 by The XFree86 Project, Inc.
|
||||||
|
@ -497,7 +497,7 @@ OpenKeyboard(InputInfoPtr pInfo)
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
xf86Msg(X_ERROR, "%s: Unsupported wskbd type \"%d\"",
|
xf86Msg(X_ERROR, "%s: Unsupported wskbd type \"%d\"",
|
||||||
pKbd->wsKbdType, pInfo->name);
|
pInfo->name, pKbd->wsKbdType);
|
||||||
close(pInfo->fd);
|
close(pInfo->fd);
|
||||||
return FALSE;
|
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.
|
* Copyright (c) 1999-2003 by The XFree86 Project, Inc.
|
||||||
|
@ -80,6 +80,16 @@ static const char *mouseDevs[] = {
|
||||||
DEFAULT_PS2_DEV,
|
DEFAULT_PS2_DEV,
|
||||||
NULL
|
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
|
#endif
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -141,6 +151,8 @@ DefaultProtocol(void)
|
||||||
{
|
{
|
||||||
#if defined(__FreeBSD__)
|
#if defined(__FreeBSD__)
|
||||||
return "Auto";
|
return "Auto";
|
||||||
|
#elif defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
|
||||||
|
return "WSMouse";
|
||||||
#else
|
#else
|
||||||
return NULL;
|
return NULL;
|
||||||
#endif
|
#endif
|
||||||
|
@ -325,7 +337,50 @@ FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||||
}
|
}
|
||||||
#endif
|
#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
|
#define NUMEVENTS 64
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -718,7 +773,11 @@ xf86OSMouseInit(int flags)
|
||||||
p->SetBMRes = SetSysMouseRes;
|
p->SetBMRes = SetSysMouseRes;
|
||||||
p->SetMiscRes = SetSysMouseRes;
|
p->SetMiscRes = SetSysMouseRes;
|
||||||
#endif
|
#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;
|
p->FindDevice = FindDevice;
|
||||||
#endif
|
#endif
|
||||||
p->PreInit = bsdMousePreInit;
|
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
|
* 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))
|
if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN))
|
||||||
break;
|
break;
|
||||||
pciWriteByte(tag, PCI_PCI_BRIDGE_CONTROL_REG,
|
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;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -1079,7 +1081,7 @@ xf86scanpci(int flags)
|
||||||
if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN))
|
if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN))
|
||||||
break;
|
break;
|
||||||
pciWriteByte(devp->tag, PCI_PCI_BRIDGE_CONTROL_REG,
|
pciWriteByte(devp->tag, PCI_PCI_BRIDGE_CONTROL_REG,
|
||||||
devp->pci_bridge_control);
|
devp->pci_bridge_control & ~PCI_PCI_BRIDGE_SECONDARY_RESET);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
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.
|
* Copyright (C) 2002-2003 The XFree86 Project, Inc. All Rights Reserved.
|
||||||
*
|
*
|
||||||
|
@ -97,9 +97,10 @@
|
||||||
#define LBA_PORT5_CNTRL 0x1228U
|
#define LBA_PORT5_CNTRL 0x1228U
|
||||||
#define LBA_PORT6_CNTRL 0x1230U
|
#define LBA_PORT6_CNTRL 0x1230U
|
||||||
#define LBA_PORT7_CNTRL 0x1238U
|
#define LBA_PORT7_CNTRL 0x1238U
|
||||||
#define LBA_ROPE_RESET 0x01UL
|
#define LBA_RESET_FUNCTION 0x0000000001UL
|
||||||
#define LBA_CLEAR_ERROR 0x10UL
|
#define LBA_CLEAR_ERROR 0x0000000010UL
|
||||||
#define LBA_HARD_FAIL 0x40UL
|
#define LBA_HARD_FAIL 0x0000000040UL
|
||||||
|
#define LBA_RESET_COMPLETE 0x0100000000UL
|
||||||
|
|
||||||
#define ROPE_PAGE_CONTROL 0x1418U
|
#define ROPE_PAGE_CONTROL 0x1418U
|
||||||
|
|
||||||
|
@ -117,8 +118,11 @@
|
||||||
#define IOA_SUBORDINATE_BUS 0x0059U
|
#define IOA_SUBORDINATE_BUS 0x0059U
|
||||||
|
|
||||||
#define IOA_CONTROL 0x0108U
|
#define IOA_CONTROL 0x0108U
|
||||||
#define IOA_FORWARD_VGA 0x08UL
|
#define IOA_RESET_FUNCTION 0x0000000001UL
|
||||||
#define IOA_HARD_FAIL 0x40UL
|
#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_BASE 0x0200U
|
||||||
#define IOA_LMMIO_MASK 0x0208U
|
#define IOA_LMMIO_MASK 0x0208U
|
||||||
|
@ -134,12 +138,33 @@
|
||||||
#define IOA_ELMMIO_MASK 0x0258U
|
#define IOA_ELMMIO_MASK 0x0258U
|
||||||
#define IOA_EIOS_BASE 0x0260U
|
#define IOA_EIOS_BASE 0x0260U
|
||||||
#define IOA_EIOS_MASK 0x0268U
|
#define IOA_EIOS_MASK 0x0268U
|
||||||
|
#define IOA_GLOBAL_MASK 0x0270U
|
||||||
#define IOA_SLAVE_CONTROL 0x0278U
|
#define IOA_SLAVE_CONTROL 0x0278U
|
||||||
#define IOA_VGA_PEER_ENABLE 0x2000UL
|
#define IOA_VGA_PEER_ENABLE 0x2000UL
|
||||||
#define IOA_MSI_BASE 0x0280U
|
#define IOA_MSI_BASE 0x0280U
|
||||||
#define IOA_MSI_MASK 0x0288U
|
#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 RANGE_ENABLE 0x01UL /* In various base registers */
|
||||||
|
|
||||||
#define IO_MASK ((1UL << 16) - 1UL)
|
#define IO_MASK ((1UL << 16) - 1UL)
|
||||||
|
@ -156,10 +181,15 @@
|
||||||
static CARD8 *pZX1mio = NULL,
|
static CARD8 *pZX1mio = NULL,
|
||||||
*pZX1ioa = NULL;
|
*pZX1ioa = NULL;
|
||||||
|
|
||||||
static INT8 zx1_ropemap[8]; /* One for each (potential) rope */
|
/* Per-rope data */
|
||||||
static CARD64 zx1_lbacntl[8]; /* " " " " " */
|
static INT8 zx1_ropemap[8];
|
||||||
|
static CARD32 zx1_pciids[8];
|
||||||
|
static CARD64 zx1_lbacntl[8];
|
||||||
static int zx1_busno[8], zx1_subno[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 pciBusFuncs_t zx1BusFuncs;
|
||||||
static int zx1_fakebus = -1;
|
static int zx1_fakebus = -1;
|
||||||
static Bool zx1_hasvga = FALSE;
|
static Bool zx1_hasvga = FALSE;
|
||||||
|
@ -292,7 +322,8 @@ ControlZX1Bridge(int bus, CARD16 mask, CARD16 value)
|
||||||
* SLAVE_CONTROL register.
|
* SLAVE_CONTROL register.
|
||||||
*/
|
*/
|
||||||
tmp1 = MIO_QUAD(VGA_ROUTE);
|
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)) {
|
if ((tmp1 & VGA_ENABLE) && ((tmp1 & 0x07UL) == ropenum)) {
|
||||||
current |= PCI_PCI_BRIDGE_VGA_EN;
|
current |= PCI_PCI_BRIDGE_VGA_EN;
|
||||||
if ((mask & 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;
|
MIO_QUAD(VGA_ROUTE) = 0UL;
|
||||||
tmp3 = IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL);
|
tmp3 = IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL);
|
||||||
if (tmp3 & IOA_FORWARD_VGA)
|
if (tmp3 & IOA_FORWARD_VGA)
|
||||||
IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL) =
|
IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL) = tmp3 &
|
||||||
tmp3 & ~IOA_FORWARD_VGA;
|
~(IOA_RESET_FUNCTION | IOA_FORWARD_VGA |
|
||||||
|
IOA_CLEAR_ERROR);
|
||||||
}
|
}
|
||||||
if (!(tmp2 & IOA_FORWARD_VGA)) {
|
if (!(tmp2 & IOA_FORWARD_VGA)) {
|
||||||
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 */
|
/* Move on to master abort failure enablement */
|
||||||
tmp1 = MIO_QUAD((ropenum << 3) + LBA_PORT0_CNTRL) &
|
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)) {
|
if ((tmp1 & LBA_HARD_FAIL) || (tmp2 & IOA_HARD_FAIL)) {
|
||||||
current |= PCI_PCI_BRIDGE_MASTER_ABORT_EN;
|
current |= PCI_PCI_BRIDGE_MASTER_ABORT_EN;
|
||||||
if ((mask & PCI_PCI_BRIDGE_MASTER_ABORT_EN) &&
|
if ((mask & PCI_PCI_BRIDGE_MASTER_ABORT_EN) &&
|
||||||
|
@ -520,14 +552,14 @@ xf86PreScanZX1(void)
|
||||||
|
|
||||||
/* Prevent hard-fails */
|
/* Prevent hard-fails */
|
||||||
zx1_lbacntl[i] = MIO_QUAD((i << 3) + LBA_PORT0_CNTRL) &
|
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)
|
if (zx1_lbacntl[i] & LBA_HARD_FAIL)
|
||||||
MIO_QUAD((i << 3) + LBA_PORT0_CNTRL) =
|
MIO_QUAD((i << 3) + LBA_PORT0_CNTRL) =
|
||||||
zx1_lbacntl[i] & ~LBA_HARD_FAIL;
|
zx1_lbacntl[i] & ~LBA_HARD_FAIL;
|
||||||
|
|
||||||
/* Poke for an ioa */
|
/* Poke for an ioa */
|
||||||
tmp = IOA_LONG(i, PCI_ID_REG);
|
zx1_pciids[i] = IOA_LONG(i, PCI_ID_REG);
|
||||||
switch ((CARD32)tmp) {
|
switch (zx1_pciids[i]) {
|
||||||
case DEVID(VENDOR_HP, CHIP_ELROY):
|
case DEVID(VENDOR_HP, CHIP_ELROY):
|
||||||
case DEVID(VENDOR_HP, CHIP_ZX1_LBA): /* Mercury */
|
case DEVID(VENDOR_HP, CHIP_ZX1_LBA): /* Mercury */
|
||||||
case DEVID(VENDOR_HP, CHIP_ZX1_AGP8): /* QuickSilver */
|
case DEVID(VENDOR_HP, CHIP_ZX1_AGP8): /* QuickSilver */
|
||||||
|
@ -539,10 +571,10 @@ xf86PreScanZX1(void)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if ((CARD16)(tmp + 1U) > (CARD16)1U)
|
if ((CARD16)(zx1_pciids[i] + 1U) > (CARD16)1U)
|
||||||
xf86MsgVerb(X_NOTICE, 0,
|
xf86MsgVerb(X_NOTICE, 0,
|
||||||
"HP ZX1: Unexpected vendor/device id 0x%08X"
|
"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 */
|
/* Nobody home, or not the "right" kind of rope guest */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -906,6 +938,9 @@ xf86PostScanZX1(void)
|
||||||
if (!pZX1mio)
|
if (!pZX1mio)
|
||||||
return;
|
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
|
* Certain 2.4 & 2.5 Linux kernels add fake PCI devices. Remove them to
|
||||||
* prevent any possible interference with our PCI validation.
|
* prevent any possible interference with our PCI validation.
|
||||||
|
@ -929,6 +964,8 @@ xf86PostScanZX1(void)
|
||||||
*ppPCI++ = pPCI;
|
*ppPCI++ = pPCI;
|
||||||
idx++;
|
idx++;
|
||||||
|
|
||||||
|
zx1_busnmpt[pPCI->busnum] = TRUE;
|
||||||
|
|
||||||
if (zx1_hasvga)
|
if (zx1_hasvga)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -953,8 +990,8 @@ xf86PostScanZX1(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Restore hard-fail settings and figure out the actual subordinate bus
|
* Restore hard-fail settings and figure out the actual secondary and
|
||||||
* numbers.
|
* subordinate bus numbers.
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < 8; i++) {
|
for (i = 0; i < 8; i++) {
|
||||||
if (zx1_ropemap[i] != i)
|
if (zx1_ropemap[i] != i)
|
||||||
|
@ -968,6 +1005,14 @@ xf86PostScanZX1(void)
|
||||||
|
|
||||||
if (zx1_fakebus <= zx1_subno[i])
|
if (zx1_fakebus <= zx1_subno[i])
|
||||||
zx1_fakebus = zx1_subno[i] + 1;
|
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) {
|
if (zx1_fakebus >= pciNumBuses) {
|
||||||
|
@ -977,13 +1022,13 @@ xf86PostScanZX1(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set up our extra bus functions */
|
/* Set up our extra bus functions */
|
||||||
zx1BusFuncs = *(pciBusInfo[0]->funcs);
|
zx1BusFuncs = *(pBusInfo->funcs);
|
||||||
zx1BusFuncs.pciControlBridge = ControlZX1Bridge;
|
zx1BusFuncs.pciControlBridge = ControlZX1Bridge;
|
||||||
zx1BusFuncs.pciGetBridgeResources = GetZX1BridgeResources;
|
zx1BusFuncs.pciGetBridgeResources = GetZX1BridgeResources;
|
||||||
|
|
||||||
/* Set up our own fake bus to act as the root segment */
|
/* Set up our own fake bus to act as the root segment */
|
||||||
zx1FakeBus.configMech = pciBusInfo[0]->configMech;
|
zx1FakeBus.configMech = pBusInfo->configMech;
|
||||||
zx1FakeBus.numDevices = pciBusInfo[0]->numDevices;
|
zx1FakeBus.numDevices = pBusInfo->numDevices;
|
||||||
zx1FakeBus.primary_bus = zx1_fakebus;
|
zx1FakeBus.primary_bus = zx1_fakebus;
|
||||||
pciBusInfo[zx1_fakebus] = &zx1FakeBus;
|
pciBusInfo[zx1_fakebus] = &zx1FakeBus;
|
||||||
|
|
||||||
|
@ -1018,7 +1063,8 @@ xf86PostScanZX1(void)
|
||||||
|
|
||||||
/* Add a fake PCI-to-PCI bridge to represent each active rope */
|
/* Add a fake PCI-to-PCI bridge to represent each active rope */
|
||||||
for (i = 0; i < 8; i++) {
|
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;
|
continue;
|
||||||
|
|
||||||
if (++idx >= MAX_PCI_DEVICES)
|
if (++idx >= MAX_PCI_DEVICES)
|
||||||
|
@ -1028,7 +1074,7 @@ xf86PostScanZX1(void)
|
||||||
pPCI->devnum = i | 0x10;
|
pPCI->devnum = i | 0x10;
|
||||||
/* pPCI->funcnum = 0; */
|
/* pPCI->funcnum = 0; */
|
||||||
pPCI->tag = PCI_MAKE_TAG(zx1_fakebus, pPCI->devnum, 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_base_class = PCI_CLASS_BRIDGE;
|
||||||
pPCI->pci_sub_class = PCI_SUBCLASS_BRIDGE_PCI;
|
pPCI->pci_sub_class = PCI_SUBCLASS_BRIDGE_PCI;
|
||||||
pPCI->pci_header_type = 1;
|
pPCI->pci_header_type = 1;
|
||||||
|
@ -1044,6 +1090,9 @@ xf86PostScanZX1(void)
|
||||||
/* Plug in chipset routines */
|
/* Plug in chipset routines */
|
||||||
pBusInfo->funcs = &zx1BusFuncs;
|
pBusInfo->funcs = &zx1BusFuncs;
|
||||||
|
|
||||||
|
/* Set bridge control register for scanpci utility */
|
||||||
|
pPCI->pci_bridge_control = ControlZX1Bridge(zx1_busno[i], 0, 0);
|
||||||
|
|
||||||
#ifdef OLD_FORMAT
|
#ifdef OLD_FORMAT
|
||||||
xf86MsgVerb(X_INFO, 2, "PCI: BusID 0x%.2x,0x%02x,0x%1x "
|
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",
|
"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
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* 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>
|
* 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>
|
#include <X11/IntrinsicP.h>
|
||||||
|
@ -37,10 +37,12 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#ifdef sun
|
||||||
#if defined(sun) && defined(SVR4)
|
#undef index
|
||||||
|
#undef rindex
|
||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
#include <stdarg.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
|
* XFree86 vbe module
|
||||||
|
@ -60,7 +60,7 @@ typedef struct vbeControllerInfoBlock {
|
||||||
CARD8 OemData[256];
|
CARD8 OemData[256];
|
||||||
} vbeControllerInfoRec, *vbeControllerInfoPtr;
|
} vbeControllerInfoRec, *vbeControllerInfoPtr;
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#if defined(__GNUC__) || defined(SCO) || defined(__USLC__)
|
||||||
#pragma pack() /* All GCC versions recognise this syntax */
|
#pragma pack() /* All GCC versions recognise this syntax */
|
||||||
#else
|
#else
|
||||||
#pragma pack(0)
|
#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.
|
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
||||||
*
|
*
|
||||||
|
@ -219,6 +219,9 @@ XAADoComposite (
|
||||||
ySrc += pSrc->pDrawable->y;
|
ySrc += pSrc->pDrawable->y;
|
||||||
|
|
||||||
if(pMask) {
|
if(pMask) {
|
||||||
|
if(pMask->componentAlpha)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
/* for now we only do it if there is a 1x1 (solid) source */
|
/* for now we only do it if there is a 1x1 (solid) source */
|
||||||
|
|
||||||
if((pSrc->pDrawable->width == 1) && (pSrc->pDrawable->height == 1)) {
|
if((pSrc->pDrawable->width == 1) && (pSrc->pDrawable->height == 1)) {
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
* Authors: Kensuke Matsuzaki
|
* Authors: Kensuke Matsuzaki
|
||||||
* Harold L Hunt II
|
* 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
|
#ifdef SHAPE
|
||||||
|
|
||||||
|
@ -117,9 +117,9 @@ winReshapeMultiWindow (WindowPtr pWin)
|
||||||
if (!wBoundingShape (pWin))
|
if (!wBoundingShape (pWin))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
REGION_NULL(pScreen, &rrNewShape);
|
REGION_NULL(pWin->drawable.pScreen, &rrNewShape);
|
||||||
REGION_COPY(pScreen, &rrNewShape, wBoundingShape(pWin));
|
REGION_COPY(pWin->drawable.pScreen, &rrNewShape, wBoundingShape(pWin));
|
||||||
REGION_TRANSLATE(pScreen,
|
REGION_TRANSLATE(pWin->drawable.pScreen,
|
||||||
&rrNewShape,
|
&rrNewShape,
|
||||||
pWin->borderWidth,
|
pWin->borderWidth,
|
||||||
pWin->borderWidth);
|
pWin->borderWidth);
|
||||||
|
@ -138,7 +138,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
||||||
if (!GetClientRect (pWinPriv->hWnd, &rcClient))
|
if (!GetClientRect (pWinPriv->hWnd, &rcClient))
|
||||||
{
|
{
|
||||||
ErrorF ("winReshape - GetClientRect failed, bailing: %d\n",
|
ErrorF ("winReshape - GetClientRect failed, bailing: %d\n",
|
||||||
GetLastError ());
|
(int) GetLastError ());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
||||||
if (!GetWindowRect (pWinPriv->hWnd, &rcWindow))
|
if (!GetWindowRect (pWinPriv->hWnd, &rcWindow))
|
||||||
{
|
{
|
||||||
ErrorF ("winReshape - GetWindowRect failed, bailing: %d\n",
|
ErrorF ("winReshape - GetWindowRect failed, bailing: %d\n",
|
||||||
GetLastError ());
|
(int) GetLastError ());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
||||||
{
|
{
|
||||||
ErrorF ("winReshape - Initial CreateRectRgn (%d, %d, %d, %d) "
|
ErrorF ("winReshape - Initial CreateRectRgn (%d, %d, %d, %d) "
|
||||||
"failed: %d\n",
|
"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 */
|
/* Loop through all rectangles in the X region */
|
||||||
|
@ -185,7 +185,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
||||||
pRects->y1 + iOffsetY - 1,
|
pRects->y1 + iOffsetY - 1,
|
||||||
pRects->x2 + iOffsetX - 1,
|
pRects->x2 + iOffsetX - 1,
|
||||||
pRects->y2 + iOffsetY - 1,
|
pRects->y2 + iOffsetY - 1,
|
||||||
GetLastError (),
|
(int) GetLastError (),
|
||||||
pRects->x1, pRects->x2, iOffsetX,
|
pRects->x1, pRects->x2, iOffsetX,
|
||||||
pRects->y1, pRects->y2, iOffsetY);
|
pRects->y1, pRects->y2, iOffsetY);
|
||||||
}
|
}
|
||||||
|
@ -194,7 +194,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
||||||
if (CombineRgn (hRgn, hRgn, hRgnRect, RGN_OR) == ERROR)
|
if (CombineRgn (hRgn, hRgn, hRgnRect, RGN_OR) == ERROR)
|
||||||
{
|
{
|
||||||
ErrorF ("winReshape - CombineRgn () failed: %d\n",
|
ErrorF ("winReshape - CombineRgn () failed: %d\n",
|
||||||
GetLastError ());
|
(int) GetLastError ());
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Delete the temporary Windows region */
|
/* Delete the temporary Windows region */
|
||||||
|
@ -205,7 +205,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
||||||
pWinPriv->hRgn = hRgn;
|
pWinPriv->hRgn = hRgn;
|
||||||
}
|
}
|
||||||
|
|
||||||
REGION_UNINIT(pScreen, &rrNewShape);
|
REGION_UNINIT(pWin->drawable.pScreen, &rrNewShape);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
* Authors: Harold L Hunt II
|
* Authors: Harold L Hunt II
|
||||||
* Kensuke Matsuzaki
|
* 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"
|
#include "win.h"
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ winCopyWindowNativeGDI (WindowPtr pWin,
|
||||||
int dx, dy;
|
int dx, dy;
|
||||||
int i, nbox;
|
int i, nbox;
|
||||||
WindowPtr pwinRoot;
|
WindowPtr pwinRoot;
|
||||||
BoxPtr pBoxDst, pBoxSrc;
|
BoxPtr pBoxDst;
|
||||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||||
winScreenPriv(pScreen);
|
winScreenPriv(pScreen);
|
||||||
|
|
||||||
|
@ -465,9 +465,7 @@ void
|
||||||
winReshapePRootless (WindowPtr pWin)
|
winReshapePRootless (WindowPtr pWin)
|
||||||
{
|
{
|
||||||
int nRects;
|
int nRects;
|
||||||
#if 0
|
|
||||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||||
#endif
|
|
||||||
RegionRec rrNewShape;
|
RegionRec rrNewShape;
|
||||||
BoxPtr pShape, pRects, pEnd;
|
BoxPtr pShape, pRects, pEnd;
|
||||||
HRGN hRgn, hRgnRect;
|
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
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* 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
|
* 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
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
* documentation for any purpose is hereby granted without fee, provided that
|
* documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* 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__
|
#ifndef __MIBANK_H__
|
||||||
#define __MIBANK_H__ 1
|
#define __MIBANK_H__ 1
|
||||||
|
|
|
@ -26,13 +26,12 @@
|
||||||
* holders shall not be used in advertising or otherwise to promote the sale,
|
* holders shall not be used in advertising or otherwise to promote the sale,
|
||||||
* use or other dealings in this Software without prior written authorization.
|
* 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
|
#ifndef _SAFEALPHA_H
|
||||||
#define _SAFEALPHA_H
|
#define _SAFEALPHA_H
|
||||||
|
|
||||||
#include "picturestr.h"
|
#include "picturestr.h"
|
||||||
#include "rootlessCommon.h"
|
|
||||||
|
|
||||||
void SafeAlphaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what);
|
void SafeAlphaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what);
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
*
|
*
|
||||||
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
* 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
|
#ifdef RENDER
|
||||||
|
|
||||||
|
@ -41,6 +41,7 @@
|
||||||
#include "mipict.h"
|
#include "mipict.h"
|
||||||
#include "fbpict.h"
|
#include "fbpict.h"
|
||||||
#include "safeAlpha.h"
|
#include "safeAlpha.h"
|
||||||
|
#include "rootlessCommon.h"
|
||||||
|
|
||||||
# define mod(a,b) ((b) == 1 ? 0 : (a) >= 0 ? (a) % (b) : (b) - (-a) % (b))
|
# define mod(a,b) ((b) == 1 ? 0 : (a) >= 0 ? (a) % (b) : (b) - (-a) % (b))
|
||||||
|
|
||||||
|
|
|
@ -31,10 +31,11 @@
|
||||||
*
|
*
|
||||||
* Copyright © 1998 Keith Packard
|
* 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 "fb.h"
|
||||||
#include "safeAlpha.h"
|
#include "safeAlpha.h"
|
||||||
|
#include "rootlessCommon.h"
|
||||||
|
|
||||||
#ifdef PANORAMIX
|
#ifdef PANORAMIX
|
||||||
#include "panoramiX.h"
|
#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.
|
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
|
#ifdef WIN32
|
||||||
#include <X11/Xwinsock.h>
|
#include <X11/Xwinsock.h>
|
||||||
|
@ -645,6 +645,20 @@ DefineLocalHost:
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
#endif
|
#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
|
void
|
||||||
DefineSelf (int fd)
|
DefineSelf (int fd)
|
||||||
{
|
{
|
||||||
|
@ -761,6 +775,10 @@ DefineSelf (int fd)
|
||||||
#endif /* DNETCONN */
|
#endif /* DNETCONN */
|
||||||
if (family == -1 || family == FamilyLocal)
|
if (family == -1 || family == FamilyLocal)
|
||||||
continue;
|
continue;
|
||||||
|
#if defined(IPv6) && defined(AF_INET6)
|
||||||
|
if (family == FamilyInternet6)
|
||||||
|
in6_fillscopeid((struct sockaddr_in6 *)&IFR_IFR_ADDR);
|
||||||
|
#endif
|
||||||
#ifdef DEF_SELF_DEBUG
|
#ifdef DEF_SELF_DEBUG
|
||||||
if (family == FamilyInternet)
|
if (family == FamilyInternet)
|
||||||
ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %d.%d.%d.%d\n",
|
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);
|
family = ConvertAddr(ifr->ifa_addr, &len, (pointer *)&addr);
|
||||||
if (family == -1 || family == FamilyLocal)
|
if (family == -1 || family == FamilyLocal)
|
||||||
continue;
|
continue;
|
||||||
|
#if defined(IPv6) && defined(AF_INET6)
|
||||||
|
if (family == FamilyInternet6)
|
||||||
|
in6_fillscopeid((struct sockaddr_in6 *)ifr->ifa_addr);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef DEF_SELF_DEBUG
|
#ifdef DEF_SELF_DEBUG
|
||||||
if (family == FamilyInternet)
|
if (family == FamilyInternet)
|
||||||
ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %d.%d.%d.%d\n",
|
ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %d.%d.%d.%d\n",
|
||||||
ifr->ifa_name, addr[0], addr[1], addr[2], addr[3]);
|
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 */
|
#endif /* DEF_SELF_DEBUG */
|
||||||
for (host = selfhosts;
|
for (host = selfhosts;
|
||||||
host != NULL && !addrEqual(family, addr, len, host);
|
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 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;
|
continue;
|
||||||
/*
|
/*
|
||||||
* ignore 'localhost' entries as they're not usefule
|
* ignore 'localhost' entries as they're not useful
|
||||||
* on the other end of the wire
|
* on the other end of the wire
|
||||||
*/
|
*/
|
||||||
if (len == 4 &&
|
if (ifr->ifa_flags & IFF_LOOPBACK)
|
||||||
addr[0] == 127 && addr[1] == 0 &&
|
|
||||||
addr[2] == 0 && addr[2] == 1)
|
|
||||||
continue;
|
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);
|
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) &&
|
if ((ifr->ifa_flags & IFF_BROADCAST) &&
|
||||||
(ifr->ifa_flags & IFF_UP))
|
(ifr->ifa_flags & IFF_UP))
|
||||||
broad_addr = *ifr->ifa_broadaddr;
|
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.
|
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__
|
#ifdef __CYGWIN__
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
@ -244,6 +244,7 @@ LockServer(void)
|
||||||
int lfd, i, haslock, l_pid, t;
|
int lfd, i, haslock, l_pid, t;
|
||||||
char *tmppath = NULL;
|
char *tmppath = NULL;
|
||||||
int len;
|
int len;
|
||||||
|
char port[20];
|
||||||
|
|
||||||
if (nolock) return;
|
if (nolock) return;
|
||||||
/*
|
/*
|
||||||
|
@ -258,13 +259,14 @@ LockServer(void)
|
||||||
FatalError("No TMP dir found\n");
|
FatalError("No TMP dir found\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
sprintf(port, "%d", atoi(display));
|
||||||
len = strlen(LOCK_PREFIX) > strlen(LOCK_TMP_PREFIX) ? strlen(LOCK_PREFIX) :
|
len = strlen(LOCK_PREFIX) > strlen(LOCK_TMP_PREFIX) ? strlen(LOCK_PREFIX) :
|
||||||
strlen(LOCK_TMP_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))
|
if (len > sizeof(LockFile))
|
||||||
FatalError("Display name `%s' is too long\n", display);
|
FatalError("Display name `%s' is too long\n", port);
|
||||||
(void)sprintf(tmp, "%s" LOCK_TMP_PREFIX "%s" LOCK_SUFFIX, tmppath, display);
|
(void)sprintf(tmp, "%s" LOCK_TMP_PREFIX "%s" LOCK_SUFFIX, tmppath, port);
|
||||||
(void)sprintf(LockFile, "%s" LOCK_PREFIX "%s" LOCK_SUFFIX, tmppath, display);
|
(void)sprintf(LockFile, "%s" LOCK_PREFIX "%s" LOCK_SUFFIX, tmppath, port);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create a temporary file containing our PID. Attempt three times
|
* Create a temporary file containing our PID. Attempt three times
|
||||||
|
@ -359,7 +361,7 @@ LockServer(void)
|
||||||
*/
|
*/
|
||||||
unlink(tmp);
|
unlink(tmp);
|
||||||
FatalError("Server is already active for display %s\n%s %s\n%s\n",
|
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.");
|
LockFile, "\tand start again.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -584,7 +586,9 @@ ProcessCommandLine(int argc, char *argv[])
|
||||||
|
|
||||||
defaultKeyboardControl.autoRepeat = TRUE;
|
defaultKeyboardControl.autoRepeat = TRUE;
|
||||||
|
|
||||||
#ifdef PART_NET
|
#ifdef NO_PART_NET
|
||||||
|
PartialNetwork = FALSE;
|
||||||
|
#else
|
||||||
PartialNetwork = TRUE;
|
PartialNetwork = TRUE;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
45
os/xdmcp.c
45
os/xdmcp.c
|
@ -13,7 +13,7 @@
|
||||||
* without express or implied warranty.
|
* 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
|
#ifdef WIN32
|
||||||
/* avoid conflicting definitions */
|
/* avoid conflicting definitions */
|
||||||
|
@ -758,14 +758,6 @@ XdmcpSelectHost(
|
||||||
int host_len,
|
int host_len,
|
||||||
ARRAY8Ptr AuthenticationName)
|
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;
|
state = XDM_START_CONNECTION;
|
||||||
memmove(&req_sockaddr, host_sockaddr, host_len);
|
memmove(&req_sockaddr, host_sockaddr, host_len);
|
||||||
req_socklen = host_len;
|
req_socklen = host_len;
|
||||||
|
@ -1161,7 +1153,7 @@ send_query_msg(void)
|
||||||
socketfd = xdmcpSocket6;
|
socketfd = xdmcpSocket6;
|
||||||
#endif
|
#endif
|
||||||
XdmcpFlush (socketfd, &buffer, (XdmcpNetaddr) &ManagerAddress,
|
XdmcpFlush (socketfd, &buffer, (XdmcpNetaddr) &ManagerAddress,
|
||||||
sizeof (ManagerAddress));
|
ManagerAddressLen);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1213,9 +1205,19 @@ send_request_msg(void)
|
||||||
XdmcpHeader header;
|
XdmcpHeader header;
|
||||||
int length;
|
int length;
|
||||||
int i;
|
int i;
|
||||||
|
CARD16 XdmcpConnectionType;
|
||||||
ARRAY8 authenticationData;
|
ARRAY8 authenticationData;
|
||||||
int socketfd = xdmcpSocket;
|
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.version = XDM_PROTOCOL_VERSION;
|
||||||
header.opcode = (CARD16) REQUEST;
|
header.opcode = (CARD16) REQUEST;
|
||||||
|
|
||||||
|
@ -1246,8 +1248,27 @@ send_request_msg(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
XdmcpWriteCARD16 (&buffer, DisplayNumber);
|
XdmcpWriteCARD16 (&buffer, DisplayNumber);
|
||||||
XdmcpWriteARRAY16 (&buffer, &ConnectionTypes);
|
XdmcpWriteCARD8 (&buffer, ConnectionTypes.length);
|
||||||
XdmcpWriteARRAYofARRAY8 (&buffer, &ConnectionAddresses);
|
|
||||||
|
/* 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, AuthenticationName);
|
||||||
XdmcpWriteARRAY8 (&buffer, &authenticationData);
|
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.
|
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 <stdio.h>
|
||||||
#include "X.h"
|
#include "X.h"
|
||||||
|
@ -2307,8 +2307,7 @@ ProcXkbSetMap(ClientPtr client)
|
||||||
stuff->maxKeyCode= xkb->max_key_code;
|
stuff->maxKeyCode= xkb->max_key_code;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ((stuff->minKeyCode<XkbMinLegalKeyCode)||
|
if (!XkbIsLegalKeycode(stuff->minKeyCode)) {
|
||||||
(stuff->maxKeyCode>XkbMaxLegalKeyCode)) {
|
|
||||||
client->errorValue= _XkbErrCode3(2,stuff->minKeyCode,
|
client->errorValue= _XkbErrCode3(2,stuff->minKeyCode,
|
||||||
stuff->maxKeyCode);
|
stuff->maxKeyCode);
|
||||||
return BadValue;
|
return BadValue;
|
||||||
|
|
|
@ -24,7 +24,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
|
||||||
THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
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 <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
@ -716,7 +716,7 @@ XkbRF_VarDefsRec defs;
|
||||||
|
|
||||||
if (ok && (finfo.xkb!=NULL)) {
|
if (ok && (finfo.xkb!=NULL)) {
|
||||||
XkbDescPtr xkb;
|
XkbDescPtr xkb;
|
||||||
int minKC,maxKC;
|
KeyCode minKC,maxKC;
|
||||||
|
|
||||||
xkb= finfo.xkb;
|
xkb= finfo.xkb;
|
||||||
minKC= xkb->min_key_code;
|
minKC= xkb->min_key_code;
|
||||||
|
|
Loading…
Reference in New Issue