3. Added missing parts to XKB to make XEVIE branch compile (Egbert Eich).

2. Merged with XORG-CURRENT branch to obtain a bugfix (Egbert Eich).
1. First add of SUN's XIVIE extension (Stuart Kreitman).
This commit is contained in:
Egbert Eich 2004-03-01 15:06:59 +00:00
parent b58d2e37a7
commit c6c51e2b3b
85 changed files with 1504 additions and 857 deletions

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/Xext/saver.c,v 1.1.4.3 2004/02/25 21:46:33 kaleb Exp $ */
/*
* $XConsortium: saver.c,v 1.12 94/04/17 20:59:36 dpw Exp $
*
@ -48,8 +48,8 @@ in this Software without prior written authorization from the X Consortium.
#include "cursorstr.h"
#include "colormapst.h"
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
@ -678,7 +678,7 @@ ScreenSaverHandle (pScreen, xstate, force)
}
#ifdef XINERAMA
if(noXineramaExtension || !pScreen->myNum)
if(noPanoramiXExtension || !pScreen->myNum)
#endif
SendScreenSaverNotify (pScreen, state, force);
return ret;
@ -1196,19 +1196,19 @@ static int
ProcScreenSaverSetAttributes (ClientPtr client)
{
#ifdef XINERAMA
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
REQUEST(xScreenSaverSetAttributesReq);
XineramaRes *draw;
XineramaRes *backPix = NULL;
XineramaRes *bordPix = NULL;
XineramaRes *cmap = NULL;
PanoramiXRes *draw;
PanoramiXRes *backPix = NULL;
PanoramiXRes *bordPix = NULL;
PanoramiXRes *cmap = NULL;
int i, status = 0, len;
int pback_offset = 0, pbord_offset = 0, cmap_offset = 0;
XID orig_visual, tmp;
REQUEST_AT_LEAST_SIZE (xScreenSaverSetAttributesReq);
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
@ -1220,7 +1220,7 @@ ProcScreenSaverSetAttributes (ClientPtr client)
pback_offset = Ones((Mask)stuff->mask & (CWBackPixmap - 1));
tmp = *((CARD32 *) &stuff[1] + pback_offset);
if ((tmp != None) && (tmp != ParentRelative)) {
if(!(backPix = (XineramaRes*) SecurityLookupIDByType(
if(!(backPix = (PanoramiXRes*) SecurityLookupIDByType(
client, tmp, XRT_PIXMAP, SecurityReadAccess)))
return BadPixmap;
}
@ -1230,7 +1230,7 @@ ProcScreenSaverSetAttributes (ClientPtr client)
pbord_offset = Ones((Mask)stuff->mask & (CWBorderPixmap - 1));
tmp = *((CARD32 *) &stuff[1] + pbord_offset);
if (tmp != CopyFromParent) {
if(!(bordPix = (XineramaRes*) SecurityLookupIDByType(
if(!(bordPix = (PanoramiXRes*) SecurityLookupIDByType(
client, tmp, XRT_PIXMAP, SecurityReadAccess)))
return BadPixmap;
}
@ -1240,7 +1240,7 @@ ProcScreenSaverSetAttributes (ClientPtr client)
cmap_offset = Ones((Mask)stuff->mask & (CWColormap - 1));
tmp = *((CARD32 *) &stuff[1] + cmap_offset);
if ((tmp != CopyFromParent) && (tmp != None)) {
if(!(cmap = (XineramaRes*) SecurityLookupIDByType(
if(!(cmap = (PanoramiXRes*) SecurityLookupIDByType(
client, tmp, XRT_COLORMAP, SecurityReadAccess)))
return BadColor;
}
@ -1259,7 +1259,7 @@ ProcScreenSaverSetAttributes (ClientPtr client)
if (orig_visual != CopyFromParent)
stuff->visualID =
XineramaVisualTable[(orig_visual*MAXSCREENS) + i];
PanoramiXVisualTable[(orig_visual*MAXSCREENS) + i];
status = ScreenSaverSetAttributes(client);
}
@ -1275,16 +1275,16 @@ static int
ProcScreenSaverUnsetAttributes (ClientPtr client)
{
#ifdef XINERAMA
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
REQUEST(xScreenSaverUnsetAttributesReq);
XineramaRes *draw;
PanoramiXRes *draw;
int i;
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
for(i = XineramaNumScreens - 1; i > 0; i--) {
for(i = PanoramiXNumScreens - 1; i > 0; i--) {
stuff->drawable = draw->info[i].id;
ScreenSaverUnsetAttributes(client);
}

View File

@ -1,4 +1,4 @@
/* $XdotOrg: xc/programs/Xserver/Xext/shape.c,v 3.19 2003/11/17 22:20:26 dawes Exp $ */
/* $XdotOrg: xc/programs/Xserver/Xext/shape.c,v 1.1.4.4 2004/02/25 21:46:33 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/Xext/shape.c,v 3.19 2003/11/17 22:20:26 dawes Exp $ */
/************************************************************
@ -114,8 +114,8 @@ static DISPATCH_PROC(SProcShapeRectangles);
static DISPATCH_PROC(SProcShapeSelectInput);
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
#if 0
@ -382,12 +382,12 @@ ProcXineramaShapeRectangles(
register ClientPtr client)
{
REQUEST(xShapeRectanglesReq);
XineramaRes *win;
PanoramiXRes *win;
int j, result = 0;
REQUEST_AT_LEAST_SIZE (xShapeRectanglesReq);
if(!(win = (XineramaRes *)SecurityLookupIDByType(
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
return BadWindow;
@ -471,17 +471,17 @@ ProcXineramaShapeMask(
register ClientPtr client)
{
REQUEST(xShapeMaskReq);
XineramaRes *win, *pmap;
PanoramiXRes *win, *pmap;
int j, result = 0;
REQUEST_SIZE_MATCH (xShapeMaskReq);
if(!(win = (XineramaRes *)SecurityLookupIDByType(
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
return BadWindow;
if(stuff->src != None) {
if(!(pmap = (XineramaRes *)SecurityLookupIDByType(
if(!(pmap = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->src, XRT_PIXMAP, SecurityReadAccess)))
return BadPixmap;
} else
@ -586,16 +586,16 @@ ProcXineramaShapeCombine(
register ClientPtr client)
{
REQUEST(xShapeCombineReq);
XineramaRes *win, *win2;
PanoramiXRes *win, *win2;
int j, result = 0;
REQUEST_AT_LEAST_SIZE (xShapeCombineReq);
if(!(win = (XineramaRes *)SecurityLookupIDByType(
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
return BadWindow;
if(!(win2 = (XineramaRes *)SecurityLookupIDByType(
if(!(win2 = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->src, XRT_WINDOW, SecurityReadAccess)))
return BadWindow;
@ -655,12 +655,12 @@ ProcXineramaShapeOffset(
register ClientPtr client)
{
REQUEST(xShapeOffsetReq);
XineramaRes *win;
PanoramiXRes *win;
int j, result = 0;
REQUEST_AT_LEAST_SIZE (xShapeOffsetReq);
if(!(win = (XineramaRes *)SecurityLookupIDByType(
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
return BadWindow;
@ -1066,28 +1066,28 @@ ProcShapeDispatch (client)
return ProcShapeQueryVersion (client);
case X_ShapeRectangles:
#ifdef XINERAMA
if ( !noXineramaExtension )
if ( !noPanoramiXExtension )
return ProcXineramaShapeRectangles (client);
else
#endif
return ProcShapeRectangles (client);
case X_ShapeMask:
#ifdef XINERAMA
if ( !noXineramaExtension )
if ( !noPanoramiXExtension )
return ProcXineramaShapeMask (client);
else
#endif
return ProcShapeMask (client);
case X_ShapeCombine:
#ifdef XINERAMA
if ( !noXineramaExtension )
if ( !noPanoramiXExtension )
return ProcXineramaShapeCombine (client);
else
#endif
return ProcShapeCombine (client);
case X_ShapeOffset:
#ifdef XINERAMA
if ( !noXineramaExtension )
if ( !noPanoramiXExtension )
return ProcXineramaShapeOffset (client);
else
#endif

View File

@ -1,4 +1,4 @@
/* $XdotOrg: xc/programs/Xserver/Xext/shm.c,v 1.1.4.3 2003/12/18 19:29:12 kaleb Exp $ */
/* $XdotOrg: xc/programs/Xserver/Xext/shm.c,v 1.1.4.5 2004/02/25 21:46:33 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/Xext/shm.c,v 3.42 2003/12/18 10:15:24 alanh Exp $ *
/************************************************************
@ -64,8 +64,8 @@ in this Software without prior written authorization from The Open Group.
#endif
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
#include "modinit.h"
@ -566,17 +566,17 @@ static int
ProcXineramaShmPutImage(register ClientPtr client)
{
int j, result = 0, orig_x, orig_y;
XineramaRes *draw, *gc;
PanoramiXRes *draw, *gc;
Bool sendEvent, isRoot;
REQUEST(xShmPutImageReq);
REQUEST_SIZE_MATCH(xShmPutImageReq);
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
if(!(gc = (XineramaRes *)SecurityLookupIDByType(
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->gc, XRT_GC, SecurityReadAccess)))
return BadGC;
@ -592,8 +592,8 @@ ProcXineramaShmPutImage(register ClientPtr client)
stuff->drawable = draw->info[j].id;
stuff->gc = gc->info[j].id;
if (isRoot) {
stuff->dstX = orig_x - xineramaDataPtr[j].x;
stuff->dstY = orig_y - xineramaDataPtr[j].y;
stuff->dstX = orig_x - panoramiXdataPtr[j].x;
stuff->dstY = orig_y - panoramiXdataPtr[j].y;
}
result = ProcShmPutImage(client);
if(result != client->noClientException) break;
@ -604,7 +604,7 @@ ProcXineramaShmPutImage(register ClientPtr client)
static int
ProcXineramaShmGetImage(ClientPtr client)
{
XineramaRes *draw;
PanoramiXRes *draw;
DrawablePtr drawables[MAXSCREENS];
DrawablePtr pDraw;
xShmGetImageReply xgi;
@ -623,7 +623,7 @@ ProcXineramaShmGetImage(ClientPtr client)
return(BadValue);
}
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
@ -646,15 +646,15 @@ ProcXineramaShmGetImage(ClientPtr client)
if(isRoot) {
if( /* check for being onscreen */
x < 0 || x + w > XineramaPixWidth ||
y < 0 || y + h > XineramaPixHeight )
x < 0 || x + w > PanoramiXPixWidth ||
y < 0 || y + h > PanoramiXPixHeight )
return(BadMatch);
} else {
if( /* check for being onscreen */
xineramaDataPtr[0].x + pDraw->x + x < 0 ||
xineramaDataPtr[0].x + pDraw->x + x + w > XineramaPixWidth ||
xineramaDataPtr[0].y + pDraw->y + y < 0 ||
xineramaDataPtr[0].y + pDraw->y + y + h > XineramaPixHeight ||
panoramiXdataPtr[0].x + pDraw->x + x < 0 ||
panoramiXdataPtr[0].x + pDraw->x + x + w > PanoramiXPixWidth ||
panoramiXdataPtr[0].y + pDraw->y + y < 0 ||
panoramiXdataPtr[0].y + pDraw->y + y + h > PanoramiXPixHeight ||
/* check for being inside of border */
x < - wBorderWidth((WindowPtr)pDraw) ||
x + w > wBorderWidth((WindowPtr)pDraw) + (int)pDraw->width ||
@ -664,7 +664,7 @@ ProcXineramaShmGetImage(ClientPtr client)
}
drawables[0] = pDraw;
for(i = 1; i < XineramaNumScreens; i++)
for(i = 1; i < PanoramiXNumScreens; i++)
VERIFY_DRAWABLE(drawables[i], draw->info[i].id, client);
xgi.visual = wVisual(((WindowPtr)pDraw));
@ -727,7 +727,7 @@ ProcXineramaShmCreatePixmap(
int i, j, result;
ShmDescPtr shmdesc;
REQUEST(xShmCreatePixmapReq);
XineramaRes *newPix;
PanoramiXRes *newPix;
REQUEST_SIZE_MATCH(xShmCreatePixmapReq);
client->errorValue = stuff->pid;
@ -755,13 +755,13 @@ CreatePmap:
PixmapBytePad(stuff->width, stuff->depth) * stuff->height,
client);
if(!(newPix = (XineramaRes *) xalloc(sizeof(XineramaRes))))
if(!(newPix = (PanoramiXRes *) xalloc(sizeof(PanoramiXRes))))
return BadAlloc;
newPix->type = XRT_PIXMAP;
newPix->u.pix.shared = TRUE;
newPix->info[0].id = stuff->pid;
for(j = 1; j < XineramaNumScreens; j++)
for(j = 1; j < PanoramiXNumScreens; j++)
newPix->info[j].id = FakeClientID(client->index);
result = (client->noClientException);
@ -1114,19 +1114,19 @@ ProcShmDispatch (client)
return ProcShmDetach(client);
case X_ShmPutImage:
#ifdef XINERAMA
if ( !noXineramaExtension )
if ( !noPanoramiXExtension )
return ProcXineramaShmPutImage(client);
#endif
return ProcShmPutImage(client);
case X_ShmGetImage:
#ifdef XINERAMA
if ( !noXineramaExtension )
if ( !noPanoramiXExtension )
return ProcXineramaShmGetImage(client);
#endif
return ProcShmGetImage(client);
case X_ShmCreatePixmap:
#ifdef XINERAMA
if ( !noXineramaExtension )
if ( !noPanoramiXExtension )
return ProcXineramaShmCreatePixmap(client);
#endif
return ProcShmCreatePixmap(client);

View File

@ -1,4 +1,4 @@
/* $XdotOrg: xtest.c,v 1.4 2001/02/09 02:04:33 xorgcvs Exp $ */
/* $XdotOrg: xc/programs/Xserver/Xext/xtest.c,v 1.1.4.4 2004/02/25 21:46:33 kaleb Exp $ */
/* $Xorg: xtest.c,v 1.4 2001/02/09 02:04:33 xorgcvs Exp $ */
/*
@ -65,8 +65,8 @@ extern int DeviceValuator;
#endif /* XINPUT */
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
static void XTestResetProc(
@ -392,12 +392,12 @@ ProcXTestFakeInput(client)
}
#ifdef XINERAMA
if (!noXineramaExtension) {
if (!noPanoramiXExtension) {
ScreenPtr pScreen = root->drawable.pScreen;
BoxRec box;
int i;
int x = ev->u.keyButtonPointer.rootX + xineramaDataPtr[0].x;
int y = ev->u.keyButtonPointer.rootY + xineramaDataPtr[0].y;
int x = ev->u.keyButtonPointer.rootX + panoramiXdataPtr[0].x;
int y = ev->u.keyButtonPointer.rootY + panoramiXdataPtr[0].y;
if (!POINT_IN_REGION(pScreen, &XineramaScreenRegions[pScreen->myNum],
x, y, &box)) {
FOR_NSCREENS(i) {
@ -406,8 +406,8 @@ ProcXTestFakeInput(client)
&XineramaScreenRegions[i],
x, y, &box)) {
root = WindowTable[i];
x -= xineramaDataPtr[i].x;
y -= xineramaDataPtr[i].y;
x -= panoramiXdataPtr[i].x;
y -= panoramiXdataPtr[i].y;
ev->u.keyButtonPointer.rootX = x;
ev->u.keyButtonPointer.rootY = y;
break;
@ -427,9 +427,9 @@ ProcXTestFakeInput(client)
ev->u.keyButtonPointer.rootY = root->drawable.height - 1;
#ifdef XINERAMA
if ((!noXineramaExtension
if ((!noPanoramiXExtension
&& root->drawable.pScreen->myNum != XineramaGetCursorScreen())
|| (noXineramaExtension && root != GetCurrentRootWindow()))
|| (noPanoramiXExtension && root != GetCurrentRootWindow()))
#else
if (root != GetCurrentRootWindow())

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/Xext/xvdisp.c,v 1.1.4.3 2004/02/25 21:46:33 kaleb Exp $ */
/***********************************************************
Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
@ -74,8 +74,8 @@ SOFTWARE.
#include "xvdisp.h"
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
unsigned long XvXRTPort;
@ -234,14 +234,14 @@ ProcXvDispatch(ClientPtr client)
case xv_QueryEncodings: return(ProcXvQueryEncodings(client));
case xv_PutVideo:
#ifdef XINERAMA
if(!noXineramaExtension)
if(!noPanoramiXExtension)
return(XineramaXvPutVideo(client));
else
#endif
return(ProcXvPutVideo(client));
case xv_PutStill:
#ifdef XINERAMA
if(!noXineramaExtension)
if(!noPanoramiXExtension)
return(XineramaXvPutStill(client));
else
#endif
@ -254,14 +254,14 @@ ProcXvDispatch(ClientPtr client)
case xv_SelectPortNotify: return(ProcXvSelectPortNotify(client));
case xv_StopVideo:
#ifdef XINERAMA
if(!noXineramaExtension)
if(!noPanoramiXExtension)
return(XineramaXvStopVideo(client));
else
#endif
return(ProcXvStopVideo(client));
case xv_SetPortAttribute:
#ifdef XINERAMA
if(!noXineramaExtension)
if(!noPanoramiXExtension)
return(XineramaXvSetPortAttribute(client));
else
#endif
@ -271,7 +271,7 @@ ProcXvDispatch(ClientPtr client)
case xv_QueryPortAttributes: return(ProcXvQueryPortAttributes(client));
case xv_PutImage:
#ifdef XINERAMA
if(!noXineramaExtension)
if(!noPanoramiXExtension)
return(XineramaXvPutImage(client));
else
#endif
@ -279,7 +279,7 @@ ProcXvDispatch(ClientPtr client)
#ifdef MITSHM
case xv_ShmPutImage:
#ifdef XINERAMA
if(!noXineramaExtension)
if(!noPanoramiXExtension)
return(XineramaXvShmPutImage(client));
else
#endif
@ -1872,15 +1872,15 @@ static int
XineramaXvStopVideo(ClientPtr client)
{
int result = Success, i;
XineramaRes *draw, *port;
PanoramiXRes *draw, *port;
REQUEST(xvStopVideoReq);
REQUEST_SIZE_MATCH(xvStopVideoReq);
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
if(!(port = (XineramaRes *)SecurityLookupIDByType(
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->port, XvXRTPort, SecurityReadAccess)))
return _XvBadPort;
@ -1899,12 +1899,12 @@ static int
XineramaXvSetPortAttribute(ClientPtr client)
{
REQUEST(xvSetPortAttributeReq);
XineramaRes *port;
PanoramiXRes *port;
int result = Success, i;
REQUEST_SIZE_MATCH(xvSetPortAttributeReq);
if(!(port = (XineramaRes *)SecurityLookupIDByType(
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->port, XvXRTPort, SecurityReadAccess)))
return _XvBadPort;
@ -1923,22 +1923,22 @@ static int
XineramaXvShmPutImage(ClientPtr client)
{
REQUEST(xvShmPutImageReq);
XineramaRes *draw, *gc, *port;
PanoramiXRes *draw, *gc, *port;
Bool send_event = stuff->send_event;
Bool isRoot;
int result = Success, i, x, y;
REQUEST_SIZE_MATCH(xvShmPutImageReq);
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
if(!(gc = (XineramaRes *)SecurityLookupIDByType(
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->gc, XRT_GC, SecurityReadAccess)))
return BadGC;
if(!(port = (XineramaRes *)SecurityLookupIDByType(
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->port, XvXRTPort, SecurityReadAccess)))
return _XvBadPort;
@ -1956,8 +1956,8 @@ XineramaXvShmPutImage(ClientPtr client)
stuff->drw_x = x;
stuff->drw_y = y;
if(isRoot) {
stuff->drw_x -= xineramaDataPtr[i].x;
stuff->drw_y -= xineramaDataPtr[i].y;
stuff->drw_x -= panoramiXdataPtr[i].x;
stuff->drw_y -= panoramiXdataPtr[i].y;
}
stuff->send_event = (send_event && !i) ? 1 : 0;
@ -1972,21 +1972,21 @@ static int
XineramaXvPutImage(ClientPtr client)
{
REQUEST(xvPutImageReq);
XineramaRes *draw, *gc, *port;
PanoramiXRes *draw, *gc, *port;
Bool isRoot;
int result = Success, i, x, y;
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
if(!(gc = (XineramaRes *)SecurityLookupIDByType(
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->gc, XRT_GC, SecurityReadAccess)))
return BadGC;
if(!(port = (XineramaRes *)SecurityLookupIDByType(
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->port, XvXRTPort, SecurityReadAccess)))
return _XvBadPort;
@ -2004,8 +2004,8 @@ XineramaXvPutImage(ClientPtr client)
stuff->drw_x = x;
stuff->drw_y = y;
if(isRoot) {
stuff->drw_x -= xineramaDataPtr[i].x;
stuff->drw_y -= xineramaDataPtr[i].y;
stuff->drw_x -= panoramiXdataPtr[i].x;
stuff->drw_y -= panoramiXdataPtr[i].y;
}
result = ProcXvPutImage(client);
@ -2018,21 +2018,21 @@ static int
XineramaXvPutVideo(ClientPtr client)
{
REQUEST(xvPutImageReq);
XineramaRes *draw, *gc, *port;
PanoramiXRes *draw, *gc, *port;
Bool isRoot;
int result = Success, i, x, y;
REQUEST_AT_LEAST_SIZE(xvPutVideoReq);
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
if(!(gc = (XineramaRes *)SecurityLookupIDByType(
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->gc, XRT_GC, SecurityReadAccess)))
return BadGC;
if(!(port = (XineramaRes *)SecurityLookupIDByType(
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->port, XvXRTPort, SecurityReadAccess)))
return _XvBadPort;
@ -2050,8 +2050,8 @@ XineramaXvPutVideo(ClientPtr client)
stuff->drw_x = x;
stuff->drw_y = y;
if(isRoot) {
stuff->drw_x -= xineramaDataPtr[i].x;
stuff->drw_y -= xineramaDataPtr[i].y;
stuff->drw_x -= panoramiXdataPtr[i].x;
stuff->drw_y -= panoramiXdataPtr[i].y;
}
result = ProcXvPutVideo(client);
@ -2064,21 +2064,21 @@ static int
XineramaXvPutStill(ClientPtr client)
{
REQUEST(xvPutImageReq);
XineramaRes *draw, *gc, *port;
PanoramiXRes *draw, *gc, *port;
Bool isRoot;
int result = Success, i, x, y;
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
if(!(gc = (XineramaRes *)SecurityLookupIDByType(
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->gc, XRT_GC, SecurityReadAccess)))
return BadGC;
if(!(port = (XineramaRes *)SecurityLookupIDByType(
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->port, XvXRTPort, SecurityReadAccess)))
return _XvBadPort;
@ -2096,8 +2096,8 @@ XineramaXvPutStill(ClientPtr client)
stuff->drw_x = x;
stuff->drw_y = y;
if(isRoot) {
stuff->drw_x -= xineramaDataPtr[i].x;
stuff->drw_y -= xineramaDataPtr[i].y;
stuff->drw_x -= panoramiXdataPtr[i].x;
stuff->drw_y -= panoramiXdataPtr[i].y;
}
result = ProcXvPutStill(client);
@ -2115,7 +2115,7 @@ void XineramifyXv(void)
XvAttributePtr pAttr;
XvScreenPtr xvsp;
Bool isOverlay, hasOverlay;
XineramaRes *port;
PanoramiXRes *port;
XvAdaptorPtr MatchingAdaptors[MAXSCREENS];
int i, j, k, l;
@ -2141,7 +2141,7 @@ void XineramifyXv(void)
}
}
for(j = 1; j < XineramaNumScreens; j++) {
for(j = 1; j < PanoramiXNumScreens; j++) {
pScreen = screenInfo.screens[j];
xvsp = (XvScreenPtr)pScreen->devPrivates[XvScreenIndex].ptr;
@ -2199,12 +2199,12 @@ void XineramifyXv(void)
/* now create a resource for each port */
for(j = 0; j < refAdapt->nPorts; j++) {
if(!(port = xalloc(sizeof(XineramaRes))))
if(!(port = xalloc(sizeof(PanoramiXRes))))
break;
port->info[0].id = MatchingAdaptors[0]->base_id + j;
AddResource(port->info[0].id, XvXRTPort, port);
for(k = 1; k < XineramaNumScreens; k++) {
for(k = 1; k < PanoramiXNumScreens; k++) {
if(MatchingAdaptors[k] && (MatchingAdaptors[k]->nPorts > j))
port->info[k].id = MatchingAdaptors[k]->base_id + j;
else

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/Xext/xvmain.c,v 1.1.4.3 2004/02/25 21:46:33 kaleb Exp $ */
/***********************************************************
Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
@ -100,8 +100,8 @@ SOFTWARE.
#endif
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#include "xvdisp.h"
#endif

View File

@ -45,7 +45,7 @@ not be used in advertising or otherwise to promote the sale, use or other
dealings in this Software without prior written authorization from said
copyright holders.
*/
/* $XFree86: xc/programs/Xserver/Xprint/pcl/PclSFonts.c,v 1.7 2003/10/29 22:11:00 tsi Exp $ */
/* $XFree86: xc/programs/Xserver/Xprint/pcl/PclSFonts.c,v 1.8 2003/12/22 17:48:05 tsi Exp $ */
#include <stdio.h>
@ -58,7 +58,6 @@ static short tmp2;
#define ESC 0x1b
#define SYMBOL_SET 277
#define MAX_CINDEX 255
static unsigned int PclDownloadChar(FILE *,PclCharDataPtr,unsigned short,unsigned char);
static unsigned int PclDownloadHeader(FILE *, PclFontDescPtr, unsigned short);
@ -117,8 +116,6 @@ PclDownloadSoftFont16(
}
pfh->index[row][col].fid = pfh->cur_fid;
pfh->index[row][col].cindex = pfh->cur_cindex++;
if ( pfh->cur_cindex > MAX_CINDEX )
pfh->cur_cindex = 0;
PclDownloadChar(fp, pcd, pfh->index[row][col].fid, pfh->index[row][col].cindex);
}

View File

@ -1,4 +1,4 @@
/* $XdotOrg: cfbpntwin.c,v 1.4 2001/02/09 02:04:38 xorgcvs Exp $ */
/* $XdotOrg: xc/programs/Xserver/cfb/cfbpntwin.c,v 1.1.4.4 2004/02/25 21:46:36 kaleb Exp $ */
/* $Xorg: cfbpntwin.c,v 1.4 2001/02/09 02:04:38 xorgcvs Exp $ */
/***********************************************************
@ -60,9 +60,9 @@ SOFTWARE.
#include "mi.h"
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
extern Bool noXineramaExtension;
#include "panoramiX.h"
#include "panoramiXsrv.h"
extern Bool noPanoramiXExtension;
extern WindowPtr *WindowTable;
#endif
@ -105,11 +105,11 @@ cfbPaintWindow(pWin, pRegion, what)
int yorg = pWin->drawable.y;
#endif
#ifdef XINERAMA
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
int index = pWin->drawable.pScreen->myNum;
if(WindowTable[index] == pWin) {
xorg -= xineramaDataPtr[index].x;
yorg -= xineramaDataPtr[index].y;
xorg -= panoramiXdataPtr[index].x;
yorg -= panoramiXdataPtr[index].y;
}
}
#endif
@ -163,11 +163,11 @@ cfbPaintWindow(pWin, pRegion, what)
#endif
#ifdef XINERAMA
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
int index = pWin->drawable.pScreen->myNum;
if(WindowTable[index] == pBgWin) {
xorg -= xineramaDataPtr[index].x;
yorg -= xineramaDataPtr[index].y;
xorg -= panoramiXdataPtr[index].x;
yorg -= panoramiXdataPtr[index].y;
}
}
#endif

View File

@ -1,4 +1,4 @@
/* $XdotOrg: dbe.c,v 1.3 2000/08/17 19:48:16 cpqbld Exp $ */
/* $XdotOrg: xc/programs/Xserver/dbe/dbe.c,v 1.1.4.3 2004/02/25 21:46:38 kaleb Exp $ */
/* $Xorg: dbe.c,v 1.3 2000/08/17 19:48:16 cpqbld Exp $ */
/******************************************************************************
*
@ -1822,8 +1822,8 @@ DbeExtensionInit()
Bool ddxInitSuccess;
#ifdef XINERAMA
extern Bool noXineramaExtension;
if(!noXineramaExtension) return;
extern Bool noPanoramiXExtension;
if(!noPanoramiXExtension) return;
#endif
/* Allocate private pointers in windows and screens. */

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/dix/colormap.c,v 1.1.4.4 2004/02/25 21:46:40 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/dix/colormap.c,v 3.12 2003/11/17 22:20:33 dawes Exp $ */
/***********************************************************
@ -63,9 +63,9 @@ SOFTWARE.
#include "lbxserve.h"
#endif
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
extern Bool noXineramaExtension;
#include "panoramiX.h"
#include "panoramiXsrv.h"
extern Bool noPanoramiXExtension;
#endif
extern XID clientErrorValue;
@ -484,8 +484,8 @@ TellNoMap (pwin, pmid)
/*
* Only deliver event for Screen 0 when Xinerama enabled
*/
if (noXineramaExtension ||
(!noXineramaExtension && !(pwin->drawable.pScreen->myNum))) {
if (noPanoramiXExtension ||
(!noPanoramiXExtension && !(pwin->drawable.pScreen->myNum))) {
#endif
/* This should be call to DeliverEvent */
xE.u.u.type = ColormapNotify;
@ -519,8 +519,8 @@ TellLostMap (pwin, value)
/*
* Only deliver event for Screen 0 when Xinerama enabled
*/
if (noXineramaExtension ||
(!noXineramaExtension && !(pwin->drawable.pScreen->myNum)))
if (noPanoramiXExtension ||
(!noPanoramiXExtension && !(pwin->drawable.pScreen->myNum)))
#endif
if (wColormap(pwin) == *pmid)
{
@ -549,8 +549,8 @@ TellGainedMap (pwin, value)
/*
* Only deliver event for Screen 0 when Xinerama enabled
*/
if (noXineramaExtension ||
(!noXineramaExtension && !(pwin->drawable.pScreen->myNum)))
if (noPanoramiXExtension ||
(!noPanoramiXExtension && !(pwin->drawable.pScreen->myNum)))
#endif
if (wColormap (pwin) == *pmid)
{

View File

@ -1,4 +1,4 @@
/* $XdotOrg: dispatch.c,v 1.5 2001/02/09 02:04:40 xorgcvs Exp $ */
/* $XdotOrg: xc/programs/Xserver/dix/dispatch.c,v 1.1.4.4 2004/02/25 21:46:40 kaleb Exp $ */
/* $Xorg: dispatch.c,v 1.5 2001/02/09 02:04:40 xorgcvs Exp $ */
/************************************************************
@ -93,8 +93,8 @@ int ProcInitialConnection();
#include "swaprep.h"
#include "swapreq.h"
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
#ifdef XCSECURITY
#define _SECURITY_SERVER
@ -2643,7 +2643,7 @@ ProcAllocColor(client)
return (retval);
}
#ifdef XINERAMA
if (noXineramaExtension || !pmap->pScreen->myNum)
if (noPanoramiXExtension || !pmap->pScreen->myNum)
#endif
WriteReplyToClient(client, sizeof(xAllocColorReply), &acr);
return (client->noClientException);
@ -2702,7 +2702,7 @@ ProcAllocNamedColor (client)
return(retval);
}
#ifdef XINERAMA
if (noXineramaExtension || !pcmp->pScreen->myNum)
if (noPanoramiXExtension || !pcmp->pScreen->myNum)
#endif
WriteReplyToClient(client, sizeof (xAllocNamedColorReply), &ancr);
return (client->noClientException);
@ -2772,7 +2772,7 @@ ProcAllocColorCells (client)
return(retval);
}
#ifdef XINERAMA
if (noXineramaExtension || !pcmp->pScreen->myNum)
if (noPanoramiXExtension || !pcmp->pScreen->myNum)
#endif
{
accr.type = X_Reply;
@ -2851,7 +2851,7 @@ ProcAllocColorPlanes(client)
}
acpr.length = length >> 2;
#ifdef XINERAMA
if (noXineramaExtension || !pcmp->pScreen->myNum)
if (noPanoramiXExtension || !pcmp->pScreen->myNum)
#endif
{
WriteReplyToClient(client, sizeof(xAllocColorPlanesReply), &acpr);
@ -3934,7 +3934,7 @@ SendConnSetup(client, reason)
/* fill in the "currentInputMask" */
root = (xWindowRoot *)(lConnectionInfo + connBlockScreenStart);
#ifdef XINERAMA
if (noXineramaExtension)
if (noPanoramiXExtension)
numScreens = screenInfo.numScreens;
else
numScreens = ((xConnSetup *)ConnectionInfo)->numRoots;

View File

@ -1,4 +1,4 @@
/* $XdotOrg: xc/programs/Xserver/dix/dixfonts.c,v 3.29 2003/11/17 22:20:34 dawes Exp $ */
/* $XdotOrg: xc/programs/Xserver/dix/dixfonts.c,v 1.1.4.4 2004/02/25 21:46:40 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/dix/dixfonts.c,v 3.29 2003/11/17 22:20:34 dawes Exp $ */
/************************************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
@ -43,8 +43,7 @@ SOFTWARE.
#endif
#ifdef XINERAMA
#include "xinerama.h"
extern Bool noXineramaExtension;
#include "panoramiX.h"
#endif
#ifdef LBX
@ -1401,7 +1400,7 @@ bail:
if (c->err != Success) err = c->err;
if (err != Success && c->client != serverClient) {
#ifdef XINERAMA
if (noXineramaExtension || !c->pGC->pScreen->myNum)
if (noPanoramiXExtension || !c->pGC->pScreen->myNum)
#endif
SendErrorToClient(c->client, c->reqType, 0, 0, err);
}

View File

@ -1,5 +1,4 @@
/* $XdotOrg$ */
/* $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
@ -117,8 +116,8 @@ of the copyright holder.
#include "dixstruct.h"
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
#include "globals.h"
@ -316,8 +315,8 @@ XineramaSetCursorPosition(
that screen are. */
pScreen = sprite.screen;
x += xineramaDataPtr[0].x;
y += xineramaDataPtr[0].y;
x += panoramiXdataPtr[0].x;
y += panoramiXdataPtr[0].y;
if(!POINT_IN_REGION(pScreen, &XineramaScreenRegions[pScreen->myNum],
x, y, &box))
@ -335,10 +334,10 @@ XineramaSetCursorPosition(
}
sprite.screen = pScreen;
sprite.hotPhys.x = x - xineramaDataPtr[0].x;
sprite.hotPhys.y = y - xineramaDataPtr[0].y;
x -= xineramaDataPtr[pScreen->myNum].x;
y -= xineramaDataPtr[pScreen->myNum].y;
sprite.hotPhys.x = x - panoramiXdataPtr[0].x;
sprite.hotPhys.y = y - panoramiXdataPtr[0].y;
x -= panoramiXdataPtr[pScreen->myNum].x;
y -= panoramiXdataPtr[pScreen->myNum].y;
return (*pScreen->SetCursorPosition)(pScreen, x, y, generateEvent);
}
@ -352,10 +351,10 @@ XineramaConstrainCursor(void)
/* Translate the constraining box to the screen
the sprite is actually on */
newBox.x1 += xineramaDataPtr[0].x - xineramaDataPtr[pScreen->myNum].x;
newBox.x2 += xineramaDataPtr[0].x - xineramaDataPtr[pScreen->myNum].x;
newBox.y1 += xineramaDataPtr[0].y - xineramaDataPtr[pScreen->myNum].y;
newBox.y2 += xineramaDataPtr[0].y - xineramaDataPtr[pScreen->myNum].y;
newBox.x1 += panoramiXdataPtr[0].x - panoramiXdataPtr[pScreen->myNum].x;
newBox.x2 += panoramiXdataPtr[0].x - panoramiXdataPtr[pScreen->myNum].x;
newBox.y1 += panoramiXdataPtr[0].y - panoramiXdataPtr[pScreen->myNum].y;
newBox.y2 += panoramiXdataPtr[0].y - panoramiXdataPtr[pScreen->myNum].y;
(* pScreen->ConstrainCursor)(pScreen, &newBox);
}
@ -412,17 +411,17 @@ XineramaSetWindowPntrs(WindowPtr pWin)
{
if(pWin == WindowTable[0]) {
memcpy(sprite.windows, WindowTable,
XineramaNumScreens*sizeof(WindowPtr));
PanoramiXNumScreens*sizeof(WindowPtr));
} else {
XineramaRes *win;
PanoramiXRes *win;
int i;
win = (XineramaRes*)LookupIDByType(pWin->drawable.id, XRT_WINDOW);
win = (PanoramiXRes*)LookupIDByType(pWin->drawable.id, XRT_WINDOW);
if(!win)
return FALSE;
for(i = 0; i < XineramaNumScreens; i++) {
for(i = 0; i < PanoramiXNumScreens; i++) {
sprite.windows[i] = LookupIDByType(win->info[i].id, RT_WINDOW);
if(!sprite.windows[i]) /* window is being unmapped */
return FALSE;
@ -459,16 +458,16 @@ XineramaCheckVirtualMotion(
if(!XineramaSetWindowPntrs(pWin))
return;
i = XineramaNumScreens - 1;
i = PanoramiXNumScreens - 1;
REGION_COPY(sprite.screen, &sprite.Reg2,
&sprite.windows[i]->borderSize);
off_x = xineramaDataPtr[i].x;
off_y = xineramaDataPtr[i].y;
off_x = panoramiXdataPtr[i].x;
off_y = panoramiXdataPtr[i].y;
while(i--) {
x = off_x - xineramaDataPtr[i].x;
y = off_y - xineramaDataPtr[i].y;
x = off_x - panoramiXdataPtr[i].x;
y = off_y - panoramiXdataPtr[i].y;
if(x || y)
REGION_TRANSLATE(sprite.screen, &sprite.Reg2, x, y);
@ -476,8 +475,8 @@ XineramaCheckVirtualMotion(
REGION_UNION(sprite.screen, &sprite.Reg2, &sprite.Reg2,
&sprite.windows[i]->borderSize);
off_x = xineramaDataPtr[i].x;
off_y = xineramaDataPtr[i].y;
off_x = panoramiXdataPtr[i].x;
off_y = panoramiXdataPtr[i].y;
}
lims = *REGION_EXTENTS(sprite.screen, &sprite.Reg2);
@ -526,10 +525,10 @@ XineramaCheckMotion(xEvent *xE)
/* Motion events entering DIX get translated to Screen 0
coordinates. Replayed events have already been
translated since they've entered DIX before */
XE_KBPTR.rootX += xineramaDataPtr[sprite.screen->myNum].x -
xineramaDataPtr[0].x;
XE_KBPTR.rootY += xineramaDataPtr[sprite.screen->myNum].y -
xineramaDataPtr[0].y;
XE_KBPTR.rootX += panoramiXdataPtr[sprite.screen->myNum].x -
panoramiXdataPtr[0].x;
XE_KBPTR.rootY += panoramiXdataPtr[sprite.screen->myNum].y -
panoramiXdataPtr[0].y;
#ifdef XEVIE
xeviehot.x =
@ -609,16 +608,16 @@ XineramaConfineCursorToWindow(WindowPtr pWin, Bool generateEvents)
if(!XineramaSetWindowPntrs(pWin))
return;
i = XineramaNumScreens - 1;
i = PanoramiXNumScreens - 1;
REGION_COPY(sprite.screen, &sprite.Reg1,
&sprite.windows[i]->borderSize);
off_x = xineramaDataPtr[i].x;
off_y = xineramaDataPtr[i].y;
off_x = panoramiXdataPtr[i].x;
off_y = panoramiXdataPtr[i].y;
while(i--) {
x = off_x - xineramaDataPtr[i].x;
y = off_y - xineramaDataPtr[i].y;
x = off_x - panoramiXdataPtr[i].x;
y = off_y - panoramiXdataPtr[i].y;
if(x || y)
REGION_TRANSLATE(sprite.screen, &sprite.Reg1, x, y);
@ -626,8 +625,8 @@ XineramaConfineCursorToWindow(WindowPtr pWin, Bool generateEvents)
REGION_UNION(sprite.screen, &sprite.Reg1, &sprite.Reg1,
&sprite.windows[i]->borderSize);
off_x = xineramaDataPtr[i].x;
off_y = xineramaDataPtr[i].y;
off_x = panoramiXdataPtr[i].x;
off_y = panoramiXdataPtr[i].y;
}
sprite.hotLimits = *REGION_EXTENTS(sprite.screen, &sprite.Reg1);
@ -689,9 +688,9 @@ SyntheticMotion(int x, int y)
/* Translate back to the sprite screen since processInputProc
will translate from sprite screen to screen 0 upon reentry
to the DIX layer */
if(!noXineramaExtension) {
x += xineramaDataPtr[0].x - xineramaDataPtr[sprite.screen->myNum].x;
y += xineramaDataPtr[0].y - xineramaDataPtr[sprite.screen->myNum].y;
if(!noPanoramiXExtension) {
x += panoramiXdataPtr[0].x - panoramiXdataPtr[sprite.screen->myNum].x;
y += panoramiXdataPtr[0].y - panoramiXdataPtr[sprite.screen->myNum].y;
}
#endif
xE.u.keyButtonPointer.rootX = x;
@ -794,7 +793,7 @@ CheckVirtualMotion(
{
#ifdef XINERAMA
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
XineramaCheckVirtualMotion(qe, pWin);
return;
}
@ -866,7 +865,7 @@ ConfineCursorToWindow(WindowPtr pWin, Bool generateEvents, Bool confineToScreen)
ScreenPtr pScreen = pWin->drawable.pScreen;
#ifdef XINERAMA
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
XineramaConfineCursorToWindow(pWin, generateEvents);
return;
}
@ -899,7 +898,7 @@ static void
ChangeToCursor(CursorPtr cursor)
{
#ifdef XINERAMA
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
XineramaChangeToCursor(cursor);
return;
}
@ -987,7 +986,7 @@ GetSpritePosition(px, py)
int
XineramaGetCursorScreen()
{
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
return sprite.screen->myNum;
} else {
return 0;
@ -1042,7 +1041,8 @@ EnqueueEvent(xE, device, count)
#ifdef XKB
/* Fix for key repeating bug. */
if (xE->u.u.type == KeyRelease)
if (device->key != NULL && device->key->xkbInfo != NULL &&
xE->u.u.type == KeyRelease)
AccessXCancelRepeatKey(device->key->xkbInfo, xE->u.u.detail);
#endif
@ -1068,11 +1068,11 @@ EnqueueEvent(xE, device, count)
if (xE->u.u.type == MotionNotify)
{
#ifdef XINERAMA
if(!noXineramaExtension) {
XE_KBPTR.rootX += xineramaDataPtr[sprite.screen->myNum].x -
xineramaDataPtr[0].x;
XE_KBPTR.rootY += xineramaDataPtr[sprite.screen->myNum].y -
xineramaDataPtr[0].y;
if(!noPanoramiXExtension) {
XE_KBPTR.rootX += panoramiXdataPtr[sprite.screen->myNum].x -
panoramiXdataPtr[0].x;
XE_KBPTR.rootY += panoramiXdataPtr[sprite.screen->myNum].y -
panoramiXdataPtr[0].y;
}
#endif
sprite.hotPhys.x = XE_KBPTR.rootX;
@ -1127,13 +1127,13 @@ PlayReleasedEvents(void)
/* Translate back to the sprite screen since processInputProc
will translate from sprite screen to screen 0 upon reentry
to the DIX layer */
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
qe->event->u.keyButtonPointer.rootX +=
xineramaDataPtr[0].x -
xineramaDataPtr[sprite.screen->myNum].x;
panoramiXdataPtr[0].x -
panoramiXdataPtr[sprite.screen->myNum].x;
qe->event->u.keyButtonPointer.rootY +=
xineramaDataPtr[0].y -
xineramaDataPtr[sprite.screen->myNum].y;
panoramiXdataPtr[0].y -
panoramiXdataPtr[sprite.screen->myNum].y;
}
#endif
(*qe->device->public.processInputProc)(qe->event, qe->device,
@ -1745,8 +1745,11 @@ DeliverEventsToWindow(pWin, pEvents, count, filter, grab, mskidx)
#ifdef XINPUT
else
{
if (((type == DeviceMotionNotify) || (type == DeviceButtonPress)) &&
deliveries)
if (((type == DeviceMotionNotify)
#ifdef XKB
|| (type == DeviceButtonPress)
#endif
) && deliveries)
CheckDeviceGrabAndHintWindow (pWin, type,
(deviceKeyButtonPointer*) pEvents,
grab, client, deliveryMask);
@ -1796,7 +1799,7 @@ MaybeDeliverEventsToClient(pWin, pEvents, count, filter, dontClient)
if (wClient(pWin) == dontClient)
return 0;
#ifdef XINERAMA
if(!noXineramaExtension && pWin->drawable.pScreen->myNum)
if(!noPanoramiXExtension && pWin->drawable.pScreen->myNum)
return XineramaTryClientEventsResult(
wClient(pWin), NullGrab, pWin->eventMask, filter);
#endif
@ -1810,7 +1813,7 @@ MaybeDeliverEventsToClient(pWin, pEvents, count, filter, dontClient)
if (SameClient(other, dontClient))
return 0;
#ifdef XINERAMA
if(!noXineramaExtension && pWin->drawable.pScreen->myNum)
if(!noPanoramiXExtension && pWin->drawable.pScreen->myNum)
return XineramaTryClientEventsResult(
rClient(other), NullGrab, other->mask, filter);
#endif
@ -1953,7 +1956,7 @@ DeliverEvents(pWin, xE, count, otherParent)
int deliveries;
#ifdef XINERAMA
if(!noXineramaExtension && pWin->drawable.pScreen->myNum)
if(!noPanoramiXExtension && pWin->drawable.pScreen->myNum)
return count;
#endif
@ -1993,14 +1996,14 @@ PointInBorderSize(WindowPtr pWin, int x, int y)
return TRUE;
#ifdef XINERAMA
if(!noXineramaExtension && XineramaSetWindowPntrs(pWin)) {
if(!noPanoramiXExtension && XineramaSetWindowPntrs(pWin)) {
int i;
for(i = 1; i < XineramaNumScreens; i++) {
for(i = 1; i < PanoramiXNumScreens; i++) {
if(POINT_IN_REGION(sprite.screen,
&sprite.windows[i]->borderSize,
x + xineramaDataPtr[0].x - xineramaDataPtr[i].x,
y + xineramaDataPtr[0].y - xineramaDataPtr[i].y,
x + panoramiXdataPtr[0].x - panoramiXdataPtr[i].x,
y + panoramiXdataPtr[0].y - panoramiXdataPtr[i].y,
&box))
return TRUE;
}
@ -2064,7 +2067,7 @@ CheckMotion(xEvent *xE)
WindowPtr prevSpriteWin = sprite.win;
#ifdef XINERAMA
if(!noXineramaExtension)
if(!noPanoramiXExtension)
return XineramaCheckMotion(xE);
#endif
@ -2177,11 +2180,11 @@ DefineInitialRootWindow(win)
(*pScreen->DisplayCursor) (pScreen, sprite.current);
#ifdef XINERAMA
if(!noXineramaExtension) {
sprite.hotLimits.x1 = -xineramaDataPtr[0].x;
sprite.hotLimits.y1 = -xineramaDataPtr[0].y;
sprite.hotLimits.x2 = XineramaPixWidth - xineramaDataPtr[0].x;
sprite.hotLimits.y2 = XineramaPixHeight - xineramaDataPtr[0].y;
if(!noPanoramiXExtension) {
sprite.hotLimits.x1 = -panoramiXdataPtr[0].x;
sprite.hotLimits.y1 = -panoramiXdataPtr[0].y;
sprite.hotLimits.x2 = PanoramiXPixWidth - panoramiXdataPtr[0].x;
sprite.hotLimits.y2 = PanoramiXPixHeight - panoramiXdataPtr[0].y;
sprite.physLimits = sprite.hotLimits;
sprite.confineWin = NullWindow;
#ifdef SHAPE
@ -2218,11 +2221,11 @@ NewCurrentScreen(newScreen, x, y)
sprite.hotPhys.x = x;
sprite.hotPhys.y = y;
#ifdef XINERAMA
if(!noXineramaExtension) {
sprite.hotPhys.x += xineramaDataPtr[newScreen->myNum].x -
xineramaDataPtr[0].x;
sprite.hotPhys.y += xineramaDataPtr[newScreen->myNum].y -
xineramaDataPtr[0].y;
if(!noPanoramiXExtension) {
sprite.hotPhys.x += panoramiXdataPtr[newScreen->myNum].x -
panoramiXdataPtr[0].x;
sprite.hotPhys.y += panoramiXdataPtr[newScreen->myNum].y -
panoramiXdataPtr[0].y;
if (newScreen != sprite.screen) {
sprite.screen = newScreen;
/* Make sure we tell the DDX to update its copy of the screen */
@ -2234,10 +2237,10 @@ NewCurrentScreen(newScreen, x, y)
told of the pointer warp so we reposition it here */
if(!syncEvents.playingEvents)
(*sprite.screen->SetCursorPosition)(sprite.screen,
sprite.hotPhys.x + xineramaDataPtr[0].x -
xineramaDataPtr[sprite.screen->myNum].x,
sprite.hotPhys.y + xineramaDataPtr[0].y -
xineramaDataPtr[sprite.screen->myNum].y, FALSE);
sprite.hotPhys.x + panoramiXdataPtr[0].x -
panoramiXdataPtr[sprite.screen->myNum].x,
sprite.hotPhys.y + panoramiXdataPtr[0].y -
panoramiXdataPtr[sprite.screen->myNum].y, FALSE);
}
} else
#endif
@ -2265,14 +2268,14 @@ XineramaPointInWindowIsVisible(
if(!XineramaSetWindowPntrs(pWin)) return FALSE;
xoff = x + xineramaDataPtr[0].x;
yoff = y + xineramaDataPtr[0].y;
xoff = x + panoramiXdataPtr[0].x;
yoff = y + panoramiXdataPtr[0].y;
for(i = 1; i < XineramaNumScreens; i++) {
for(i = 1; i < PanoramiXNumScreens; i++) {
pWin = sprite.windows[i];
pScreen = pWin->drawable.pScreen;
x = xoff - xineramaDataPtr[i].x;
y = yoff - xineramaDataPtr[i].y;
x = xoff - panoramiXdataPtr[i].x;
y = yoff - panoramiXdataPtr[i].y;
if(POINT_IN_REGION(pScreen, &pWin->borderClip, x, y, &box))
return TRUE;
@ -2312,8 +2315,8 @@ XineramaWarpPointer(ClientPtr client)
winX = source->drawable.x;
winY = source->drawable.y;
if(source == WindowTable[0]) {
winX -= xineramaDataPtr[0].x;
winY -= xineramaDataPtr[0].y;
winX -= panoramiXdataPtr[0].x;
winY -= panoramiXdataPtr[0].y;
}
if (x < winX + stuff->srcX ||
y < winY + stuff->srcY ||
@ -2328,8 +2331,8 @@ XineramaWarpPointer(ClientPtr client)
x = dest->drawable.x;
y = dest->drawable.y;
if(dest == WindowTable[0]) {
x -= xineramaDataPtr[0].x;
y -= xineramaDataPtr[0].y;
x -= panoramiXdataPtr[0].x;
y -= panoramiXdataPtr[0].y;
}
}
@ -2368,7 +2371,7 @@ ProcWarpPointer(client)
REQUEST_SIZE_MATCH(xWarpPointerReq);
#ifdef XINERAMA
if(!noXineramaExtension)
if(!noPanoramiXExtension)
return XineramaWarpPointer(client);
#endif
@ -2453,10 +2456,10 @@ BorderSizeNotEmpty(WindowPtr pWin)
return TRUE;
#ifdef XINERAMA
if(!noXineramaExtension && XineramaSetWindowPntrs(pWin)) {
if(!noPanoramiXExtension && XineramaSetWindowPntrs(pWin)) {
int i;
for(i = 1; i < XineramaNumScreens; i++) {
for(i = 1; i < PanoramiXNumScreens; i++) {
if(REGION_NOTEMPTY(sprite.screen, &sprite.windows[i]->borderSize))
return TRUE;
}
@ -2498,10 +2501,10 @@ CheckPassiveGrabsOnWindow(
xkbi= gdev->key->xkbInfo;
#endif
tempGrab.modifierDevice = grab->modifierDevice;
if (device == grab->modifierDevice &&
(xE->u.u.type == KeyPress
#ifdef XINPUT
|| xE->u.u.type == DeviceKeyPress
if ((device == grab->modifierDevice) &&
((xE->u.u.type == KeyPress)
#if defined(XINPUT) && defined(XKB)
|| (xE->u.u.type == DeviceKeyPress)
#endif
))
tempGrab.modifiersDetail.exact =
@ -2591,11 +2594,11 @@ CheckDeviceGrabs(device, xE, checkFirst, count)
register WindowPtr pWin = NULL;
register FocusClassPtr focus = device->focus;
if ((xE->u.u.type == ButtonPress
#ifdef XINPUT
|| xE->u.u.type == DeviceButtonPress
if (((xE->u.u.type == ButtonPress)
#if defined(XINPUT) && defined(XKB)
|| (xE->u.u.type == DeviceButtonPress)
#endif
) && device->button->buttonsDown != 1)
) && (device->button->buttonsDown != 1))
return FALSE;
i = checkFirst;
@ -3468,7 +3471,7 @@ DoFocusEvents(dev, fromWin, toWin, mode)
TRUE);
/* Notify all the roots */
#ifdef XINERAMA
if ( !noXineramaExtension )
if ( !noPanoramiXExtension )
FocusEvent(dev, FocusOut, mode, out, WindowTable[0]);
else
#endif
@ -3487,7 +3490,7 @@ DoFocusEvents(dev, fromWin, toWin, mode)
}
/* Notify all the roots */
#ifdef XINERAMA
if ( !noXineramaExtension )
if ( !noPanoramiXExtension )
FocusEvent(dev, FocusIn, mode, in, WindowTable[0]);
else
#endif
@ -3505,7 +3508,7 @@ DoFocusEvents(dev, fromWin, toWin, mode)
FocusOutEvents(dev, sprite.win, ROOT, mode, NotifyPointer,
TRUE);
#ifdef XINERAMA
if ( !noXineramaExtension )
if ( !noPanoramiXExtension )
FocusEvent(dev, FocusOut, mode, out, WindowTable[0]);
else
#endif
@ -4019,12 +4022,12 @@ ProcQueryPointer(client)
}
#ifdef XINERAMA
if(!noXineramaExtension) {
rep.rootX += xineramaDataPtr[0].x;
rep.rootY += xineramaDataPtr[0].y;
if(!noPanoramiXExtension) {
rep.rootX += panoramiXdataPtr[0].x;
rep.rootY += panoramiXdataPtr[0].y;
if(stuff->id == rep.root) {
rep.winX += xineramaDataPtr[0].x;
rep.winY += xineramaDataPtr[0].y;
rep.winX += panoramiXdataPtr[0].x;
rep.winY += panoramiXdataPtr[0].y;
}
}
#endif
@ -4490,7 +4493,7 @@ CheckCursorConfinement(pWin)
WindowPtr confineTo;
#ifdef XINERAMA
if(!noXineramaExtension && pWin->drawable.pScreen->myNum) return;
if(!noPanoramiXExtension && pWin->drawable.pScreen->myNum) return;
#endif
if (grab && (confineTo = grab->confineTo))
@ -4550,7 +4553,7 @@ ProcRecolorCursor(client)
{
pscr = screenInfo.screens[nscr];
#ifdef XINERAMA
if(!noXineramaExtension)
if(!noPanoramiXExtension)
displayed = (pscr == sprite.screen);
else
#endif
@ -4579,8 +4582,8 @@ WriteEventsToClient(pClient, count, events)
#endif
#ifdef XINERAMA
if(!noXineramaExtension &&
(xineramaDataPtr[0].x || xineramaDataPtr[0].y))
if(!noPanoramiXExtension &&
(panoramiXdataPtr[0].x || panoramiXdataPtr[0].y))
{
switch(events->u.u.type) {
case MotionNotify:
@ -4597,13 +4600,13 @@ WriteEventsToClient(pClient, count, events)
*/
count = 1; /* should always be 1 */
memcpy(&eventCopy, events, sizeof(xEvent));
eventCopy.u.keyButtonPointer.rootX += xineramaDataPtr[0].x;
eventCopy.u.keyButtonPointer.rootY += xineramaDataPtr[0].y;
eventCopy.u.keyButtonPointer.rootX += panoramiXdataPtr[0].x;
eventCopy.u.keyButtonPointer.rootY += panoramiXdataPtr[0].y;
if(eventCopy.u.keyButtonPointer.event ==
eventCopy.u.keyButtonPointer.root)
{
eventCopy.u.keyButtonPointer.eventX += xineramaDataPtr[0].x;
eventCopy.u.keyButtonPointer.eventY += xineramaDataPtr[0].y;
eventCopy.u.keyButtonPointer.eventX += panoramiXdataPtr[0].x;
eventCopy.u.keyButtonPointer.eventY += panoramiXdataPtr[0].y;
}
events = &eventCopy;
break;

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/dix/main.c,v 1.1.4.5 2004/02/25 21:46:40 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/dix/main.c,v 3.44 2003/11/17 22:20:34 dawes Exp $ */
/***********************************************************
@ -94,7 +94,7 @@ SOFTWARE.
#include "dixfont.h"
#include "extnsionst.h"
#ifdef XINERAMA
extern Bool noXineramaExtension;
extern Bool noPanoramiXExtension;
#else
#include "dixevents.h" /* InitEvents() */
#include "dispatch.h" /* InitProcVectors() */
@ -408,8 +408,8 @@ main(int argc, char *argv[], char *envp[])
/*
* Consolidate window and colourmap information for each screen
*/
if (!noXineramaExtension)
XineramaConsolidate();
if (!noPanoramiXExtension)
PanoramiXConsolidate();
#endif
for (i = 0; i < screenInfo.numScreens; i++)
@ -421,8 +421,8 @@ main(int argc, char *argv[], char *envp[])
#endif
#ifdef XINERAMA
if (!noXineramaExtension) {
if (!XineramaCreateConnectionBlock())
if (!noPanoramiXExtension) {
if (!PanoramiXCreateConnectionBlock())
FatalError("could not create connection block info");
} else
#endif
@ -441,10 +441,10 @@ main(int argc, char *argv[], char *envp[])
#ifdef XINERAMA
{
Bool remember_it = noXineramaExtension;
noXineramaExtension = TRUE;
Bool remember_it = noPanoramiXExtension;
noPanoramiXExtension = TRUE;
FreeAllResources();
noXineramaExtension = remember_it;
noPanoramiXExtension = remember_it;
}
#else
FreeAllResources();

View File

@ -1,4 +1,3 @@
/* $XdotOrg$ */
/************************************************************
Copyright 1987, 1998 The Open Group
@ -90,8 +89,8 @@ SOFTWARE.
#include "dixgrabs.h"
#include "cursor.h"
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
#include <assert.h>
@ -801,7 +800,7 @@ LegalNewID(id, client)
#ifdef XINERAMA
XID minid, maxid;
if (!noXineramaExtension) {
if (!noPanoramiXExtension) {
minid = client->clientAsMask | (client->index ?
SERVER_BIT : SERVER_MINID);
maxid = (clientTable[client->index].fakeID | RESOURCE_ID_MASK) + 1;

View File

@ -1,4 +1,4 @@
/* $XdotOrg: window.c,v 1.4 2001/02/09 02:04:41 xorgcvs Exp $ */
/* $XdotOrg: xc/programs/Xserver/dix/window.c,v 1.1.4.4 2004/02/25 21:46:40 kaleb Exp $ */
/* $Xorg: window.c,v 1.4 2001/02/09 02:04:41 xorgcvs Exp $ */
/*
@ -87,8 +87,8 @@ SOFTWARE.
#include "gcstruct.h"
#include "servermd.h"
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
#include "dixevents.h"
#include "globals.h"
@ -2322,9 +2322,9 @@ ConfigureWindow(pWin, mask, vlist, client)
event.u.configureRequest.x = x;
event.u.configureRequest.y = y;
#ifdef XINERAMA
if(!noXineramaExtension && (!pParent || !pParent->parent)) {
event.u.configureRequest.x += xineramaDataPtr[0].x;
event.u.configureRequest.y += xineramaDataPtr[0].y;
if(!noPanoramiXExtension && (!pParent || !pParent->parent)) {
event.u.configureRequest.x += panoramiXdataPtr[0].x;
event.u.configureRequest.y += panoramiXdataPtr[0].y;
}
#endif
event.u.configureRequest.width = w;
@ -2408,9 +2408,9 @@ ActuallyDoSomething:
event.u.configureNotify.x = x;
event.u.configureNotify.y = y;
#ifdef XINERAMA
if(!noXineramaExtension && (!pParent || !pParent->parent)) {
event.u.configureNotify.x += xineramaDataPtr[0].x;
event.u.configureNotify.y += xineramaDataPtr[0].y;
if(!noPanoramiXExtension && (!pParent || !pParent->parent)) {
event.u.configureNotify.x += panoramiXdataPtr[0].x;
event.u.configureNotify.y += panoramiXdataPtr[0].y;
}
#endif
event.u.configureNotify.width = w;
@ -2566,9 +2566,9 @@ ReparentWindow(pWin, pParent, x, y, client)
event.u.reparent.x = x;
event.u.reparent.y = y;
#ifdef XINERAMA
if(!noXineramaExtension && !pParent->parent) {
event.u.reparent.x += xineramaDataPtr[0].x;
event.u.reparent.y += xineramaDataPtr[0].y;
if(!noPanoramiXExtension && !pParent->parent) {
event.u.reparent.x += panoramiXdataPtr[0].x;
event.u.reparent.y += panoramiXdataPtr[0].y;
}
#endif
event.u.reparent.override = pWin->overrideRedirect;
@ -2939,9 +2939,9 @@ UnrealizeTree(
pChild->realized = FALSE;
pChild->visibility = VisibilityNotViewable;
#ifdef XINERAMA
if(!noXineramaExtension && !pChild->drawable.pScreen->myNum) {
XineramaRes *win;
win = (XineramaRes*)LookupIDByType(pChild->drawable.id,
if(!noPanoramiXExtension && !pChild->drawable.pScreen->myNum) {
PanoramiXRes *win;
win = (PanoramiXRes*)LookupIDByType(pChild->drawable.id,
XRT_WINDOW);
if(win)
win->u.win.visibility = VisibilityNotViewable;
@ -3225,21 +3225,21 @@ SendVisibilityNotify(pWin)
#endif
#ifdef XINERAMA
/* This is not quite correct yet, but it's close */
if(!noXineramaExtension) {
XineramaRes *win;
if(!noPanoramiXExtension) {
PanoramiXRes *win;
WindowPtr pWin2;
int i, Scrnum;
Scrnum = pWin->drawable.pScreen->myNum;
win = XineramaFindIDByScrnum(XRT_WINDOW, pWin->drawable.id, Scrnum);
win = PanoramiXFindIDByScrnum(XRT_WINDOW, pWin->drawable.id, Scrnum);
if(!win || (win->u.win.visibility == visibility))
return;
switch(visibility) {
case VisibilityUnobscured:
for(i = 0; i < XineramaNumScreens; i++) {
for(i = 0; i < PanoramiXNumScreens; i++) {
if(i == Scrnum) continue;
pWin2 = (WindowPtr)LookupIDByType(win->info[i].id, RT_WINDOW);
@ -3259,7 +3259,7 @@ SendVisibilityNotify(pWin)
}
break;
case VisibilityFullyObscured:
for(i = 0; i < XineramaNumScreens; i++) {
for(i = 0; i < PanoramiXNumScreens; i++) {
if(i == Scrnum) continue;
pWin2 = (WindowPtr)LookupIDByType(win->info[i].id, RT_WINDOW);

View File

@ -31,24 +31,24 @@ from The Open Group.
#include "font.h"
Bool
XpClientIsBitmapClient(client)
ClientPtr client;
XpClientIsBitmapClient(
ClientPtr client)
{
return TRUE;
}
Bool
XpClientIsPrintClient(client, fpe)
ClientPtr client;
FontPathElementPtr fpe;
XpClientIsPrintClient(
ClientPtr client,
FontPathElementPtr fpe)
{
return FALSE;
}
int
XprintOptions(argc, argv, i)
int argc;
char **argv;
int i;
XprintOptions(
int argc,
char **argv,
int i)
{
return i;
}

View File

@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.13 2003/11/10 18:21:47 tsi Exp $ */
/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.14 2003/12/28 17:22:25 alanh Exp $ */
#include "fb.h"
#ifdef IN_MODULE
@ -398,7 +398,10 @@ fbDoCopy (DrawablePtr pSrcDrawable,
int dx;
int dy;
int numRects;
BoxRec box;
int box_x1;
int box_y1;
int box_x2;
int box_y2;
Bool fastSrc = FALSE; /* for fast clipping with pixmap source */
Bool fastDst = FALSE; /* for fast clipping with one rect dest */
Bool fastExpose = FALSE; /* for fast exposures with pixmap source */
@ -466,10 +469,10 @@ fbDoCopy (DrawablePtr pSrcDrawable,
xOut += pDstDrawable->x;
yOut += pDstDrawable->y;
box.x1 = xIn;
box.y1 = yIn;
box.x2 = xIn + widthSrc;
box.y2 = yIn + heightSrc;
box_x1 = xIn;
box_y1 = yIn;
box_x2 = xIn + widthSrc;
box_y2 = yIn + heightSrc;
dx = xIn - xOut;
dy = yIn - yOut;
@ -484,32 +487,32 @@ fbDoCopy (DrawablePtr pSrcDrawable,
* clip the source; if regions extend beyond the source size,
* make sure exposure events get sent
*/
if (box.x1 < pSrcDrawable->x)
if (box_x1 < pSrcDrawable->x)
{
box.x1 = pSrcDrawable->x;
box_x1 = pSrcDrawable->x;
fastExpose = FALSE;
}
if (box.y1 < pSrcDrawable->y)
if (box_y1 < pSrcDrawable->y)
{
box.y1 = pSrcDrawable->y;
box_y1 = pSrcDrawable->y;
fastExpose = FALSE;
}
if (box.x2 > pSrcDrawable->x + (int) pSrcDrawable->width)
if (box_x2 > pSrcDrawable->x + (int) pSrcDrawable->width)
{
box.x2 = pSrcDrawable->x + (int) pSrcDrawable->width;
box_x2 = pSrcDrawable->x + (int) pSrcDrawable->width;
fastExpose = FALSE;
}
if (box.y2 > pSrcDrawable->y + (int) pSrcDrawable->height)
if (box_y2 > pSrcDrawable->y + (int) pSrcDrawable->height)
{
box.y2 = pSrcDrawable->y + (int) pSrcDrawable->height;
box_y2 = pSrcDrawable->y + (int) pSrcDrawable->height;
fastExpose = FALSE;
}
/* Translate and clip the dst to the destination composite clip */
box.x1 -= dx;
box.x2 -= dx;
box.y1 -= dy;
box.y2 -= dy;
box_x1 -= dx;
box_x2 -= dx;
box_y1 -= dy;
box_y2 -= dy;
/* If the destination composite clip is one rectangle we can
do the clip directly. Otherwise we have to create a full
@ -520,21 +523,26 @@ fbDoCopy (DrawablePtr pSrcDrawable,
{
BoxPtr pBox = REGION_RECTS(cclip);
if (box.x1 < pBox->x1) box.x1 = pBox->x1;
if (box.x2 > pBox->x2) box.x2 = pBox->x2;
if (box.y1 < pBox->y1) box.y1 = pBox->y1;
if (box.y2 > pBox->y2) box.y2 = pBox->y2;
if (box_x1 < pBox->x1) box_x1 = pBox->x1;
if (box_x2 > pBox->x2) box_x2 = pBox->x2;
if (box_y1 < pBox->y1) box_y1 = pBox->y1;
if (box_y2 > pBox->y2) box_y2 = pBox->y2;
fastDst = TRUE;
}
}
/* Check to see if the region is empty */
if (box.x1 >= box.x2 || box.y1 >= box.y2)
if (box_x1 >= box_x2 || box_y1 >= box_y2)
{
REGION_NULL(pGC->pScreen, &rgnDst);
}
else
{
BoxRec box;
box.x1 = box_x1;
box.y1 = box_y1;
box.x2 = box_x2;
box.y2 = box_y2;
REGION_INIT(pGC->pScreen, &rgnDst, &box, 1);
}

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/fb/fbwindow.c,v 1.1.4.3 2004/02/25 21:46:42 kaleb Exp $ */
/*
* Id: fbwindow.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
@ -225,8 +225,8 @@ fbFillRegionSolid (DrawablePtr pDrawable,
}
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
void
@ -249,13 +249,13 @@ fbFillRegionTiled (DrawablePtr pDrawable,
int yRot = pDrawable->y;
#ifdef XINERAMA
if(!noXineramaExtension)
if(!noPanoramiXExtension)
{
int index = pDrawable->pScreen->myNum;
if(&WindowTable[index]->drawable == pDrawable)
{
xRot -= xineramaDataPtr[index].x;
yRot -= xineramaDataPtr[index].y;
xRot -= panoramiXdataPtr[index].x;
yRot -= panoramiXdataPtr[index].y;
}
}
#endif

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/quartzCocoa.m,v 1.1.4.3 2004/02/25 21:46:45 kaleb Exp $ */
/**************************************************************
*
* Quartz-specific support for the Darwin X Server
@ -49,7 +49,7 @@
extern void FatalError(const char *, ...);
extern char *display;
extern int noXineramaExtension;
extern int noPanoramiXExtension;
/*
@ -69,12 +69,12 @@ void QuartzReadPreferences(void)
// quartzRootless has already been set
if (quartzRootless) {
// Use Pseudorama instead of Xinerama
noXineramaExtension = TRUE;
noPanoramiXExtension = TRUE;
noPseudoramaExtension = ![Preferences xinerama];
quartzUseAGL = [Preferences useAGL];
} else {
noXineramaExtension = ![Preferences xinerama];
noPanoramiXExtension = ![Preferences xinerama];
noPseudoramaExtension = TRUE;
// Full screen can't use AGL for GLX

View File

@ -32,9 +32,7 @@
promote the sale, use or other dealings in this Software without
prior written authorization.
*/
/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartzKeyboard.c,v 1.1 2003/11/01 08:13:08 torrey Exp $ */
#ifdef HAS_KL_API
/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartzKeyboard.c,v 1.2 2004/01/19 01:22:47 torrey Exp $ */
#include "quartzCommon.h"
@ -45,6 +43,8 @@
#include "keysym.h"
#include "keysym2ucs.h"
#ifdef HAS_KL_API
#define HACK_MISSING 1
#define HACK_KEYPAD 1

View File

@ -1,5 +1,4 @@
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/compiler.h,v 3.105 2003/12/18 21:56:37 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/compiler.h,v 3.105 2003/12/18 21:56:37 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/compiler.h,v 3.106 2004/02/02 03:55:28 dawes Exp $ */
/*
* Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
*
@ -59,6 +58,10 @@
# define _COMPILER_H
#if defined(__SUNPRO_C)
# define DO_PROTOTYPES
#endif
/* Allow drivers to use the GCC-supported __inline__ and/or __inline. */
# ifndef __inline__
# if defined(__GNUC__)
@ -113,6 +116,10 @@ extern int ffs(unsigned long);
;
# endif
# if defined(__SUNPRO_C)
# define DO_PROTOTYPES
# endif
# if defined(NO_INLINE) || defined(DO_PROTOTYPES)
# if !defined(__sparc__) && !defined(__arm32__) \
@ -1297,6 +1304,7 @@ inl(unsigned short port)
# define mem_barrier() /* NOP */
# define write_mem_barrier() /* NOP */
# if !defined(__SUNPRO_C)
# if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__)
# ifdef GCCUSESGAS
@ -1442,6 +1450,7 @@ inl(unsigned short port)
}
# endif /* FAKEIT */
# endif /* __SUNPRO_C */
# endif /* ix86 */
@ -1538,7 +1547,7 @@ extern void outl(unsigned int a, unsigned int l);
# include <sys/types.h>
#endif
# ifndef __HIGHC__
# ifndef __USLC__
# if !defined(__USLC__) && !defined(__SUNPRO_C)
# define __USLC__
# endif
# endif
@ -1557,13 +1566,14 @@ extern void outl(unsigned int a, unsigned int l);
# include <sys/types.h>
# endif /* IN_MODULE */
# endif /* USL */
# ifndef sgi
# include <sys/inline.h>
# if !defined(sgi) && !defined(__SUNPRO_C)
# include <sys/inline.h>
# endif
# else
# include "scoasm.h"
# endif
# if !defined(__HIGHC__) && !defined(SCO325) && !defined(sgi)
# if !defined(__HIGHC__) && !defined(SCO325) && !defined(sgi) && \
!defined(__SUNPRO_C)
# pragma asm partial_optimization outl
# pragma asm partial_optimization outw
# pragma asm partial_optimization outb

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86.h,v 3.172 2003/09/24 02:43:16 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86.h,v 3.173 2004/01/27 01:31:44 dawes Exp $ */
/*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
@ -57,7 +57,6 @@ extern int xf86PixmapIndex;
extern Bool xf86ResAccessEnter;
extern ScrnInfoPtr *xf86Screens; /* List of pointers to ScrnInfoRecs */
extern const unsigned char byte_reversed[256];
extern PropertyPtr *xf86RegisteredPropertiesTable;
extern ScrnInfoPtr xf86CurrentScreen;
extern Bool pciSlotClaimed;
extern Bool isaSlotClaimed;

View File

@ -12,43 +12,26 @@
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions, and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment: "This product
* includes software developed by X-Oz Technologies
* (http://www.x-oz.com/)." Alternately, this acknowledgment may
* appear in the software itself, if and wherever such third-party
* acknowledgments normally appear.
*
* 4. Except as contained in this notice, the name of X-Oz
* Technologies shall not be used in advertising or otherwise to
* promote the sale, use or other dealings in this Software without
* prior written authorization from X-Oz Technologies.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL X-OZ TECHNOLOGIES OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
* OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of the copyright holder(s)
* and author(s) shall not be used in advertising or otherwise to promote
* the sale, use or other dealings in this Software without prior written
* authorization from the copyright holder(s) and author(s).
*
* Author: David Dawes <dawes@XFree86.Org>.
*/
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86AutoConfig.c,v 1.3 2003/12/12 00:39:16 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86AutoConfig.c,v 1.3 2003/12/12 00:39:16 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86AutoConfig.c,v 1.2 2003/11/03 05:11:01 tsi Exp $ */
#include "xf86.h"
#include "xf86Parser.h"

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Bus.c,v 1.79 2003/11/03 05:11:01 tsi Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Bus.c,v 1.80 2004/02/05 18:24:59 eich Exp $ */
/*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
*
@ -525,14 +525,14 @@ disableAccess(void)
for (i = 0; i < xf86NumScreens; i++) {
peacc = xf86Screens[i]->CurrentAccess->pIoAccess;
while (peacc) {
if (peacc->pAccess->AccessDisable)
if (peacc->pAccess && peacc->pAccess->AccessDisable)
peacc->pAccess->AccessDisable(peacc->pAccess->arg);
peacc = peacc->next;
}
xf86Screens[i]->CurrentAccess->pIoAccess = NULL;
peacc = xf86Screens[i]->CurrentAccess->pMemAccess;
while (peacc) {
if (peacc->pAccess->AccessDisable)
if (peacc->pAccess && peacc->pAccess->AccessDisable)
peacc->pAccess->AccessDisable(peacc->pAccess->arg);
peacc = peacc->next;
}

View File

@ -1,4 +1,4 @@
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86Config.c,v 3.277 2003/10/15 22:51:48 dawes Exp $ */
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86Config.c,v 1.1.4.4 2004/02/25 21:46:46 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Config.c,v 3.277 2003/10/15 22:51:48 dawes Exp $ */
@ -1060,13 +1060,13 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
#ifdef XINERAMA
from = X_DEFAULT;
if (!noXineramaExtension)
if (!noPanoramiXExtension)
from = X_CMDLINE;
else if (xf86GetOptValBool(FlagOptions, FLAG_XINERAMA, &value)) {
noXineramaExtension = !value;
noPanoramiXExtension = !value;
from = X_CONFIG;
}
if (!noXineramaExtension)
if (!noPanoramiXExtension)
xf86Msg(from, "Xinerama: enabled\n");
#endif

View File

@ -1,4 +1,4 @@
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86DGA.c,v 1.47 2003/08/24 17:36:51 dawes Exp $ */
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86DGA.c,v 1.1.4.3 2004/02/25 21:46:46 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86DGA.c,v 1.47 2003/08/24 17:36:51 dawes Exp $ */
/*
* Copyright (c) 1998-2002 by The XFree86 Project, Inc.
@ -141,7 +141,7 @@ DGAInit(
modes[i].num = i + 1;
#ifdef XINERAMA
if(!noXineramaExtension)
if(!noPanoramiXExtension)
for(i = 0; i < num; i++)
modes[i].flags &= ~DGA_PIXMAP_AVAILABLE;
#endif

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Globals.c,v 1.41 2003/08/24 17:36:52 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Globals.c,v 1.42 2004/01/27 01:31:44 dawes Exp $ */
/*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
@ -236,7 +236,7 @@ Bool xf86VidModeAllowNonLocal = FALSE;
Bool xf86MiscModInDevDisabled = FALSE;
Bool xf86MiscModInDevAllowNonLocal = FALSE;
#endif
PropertyPtr *xf86RegisteredPropertiesTable = NULL;
RootWinPropPtr *xf86RegisteredPropertiesTable = NULL;
Bool xf86inSuspend = FALSE;
#ifdef DLOPEN_HACK

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Helper.c,v 1.135 2003/10/08 14:58:27 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Helper.c,v 1.136 2004/01/27 01:31:45 dawes Exp $ */
/*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
@ -2888,11 +2888,12 @@ int
xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
int format, unsigned long len, pointer value )
{
PropertyPtr pNewProp, pRegProp;
RootWinPropPtr pNewProp = NULL, pRegProp;
int i;
Bool existing = FALSE;
#ifdef DEBUG
ErrorF("xf86RegisterRootWindowProperty(%d, %d, %d, %d, %d, %p)\n",
ErrorF("xf86RegisterRootWindowProperty(%d, %ld, %ld, %d, %ld, %p)\n",
ScrnIndex, property, type, format, len, value);
#endif
@ -2900,19 +2901,35 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
return(BadMatch);
}
if ( (pNewProp = (PropertyPtr)xalloc(sizeof(PropertyRec)))==NULL ) {
return(BadAlloc);
if (xf86RegisteredPropertiesTable &&
xf86RegisteredPropertiesTable[ScrnIndex]) {
for (pNewProp = xf86RegisteredPropertiesTable[ScrnIndex];
pNewProp; pNewProp = pNewProp->next) {
if (strcmp(pNewProp->name, NameForAtom(property)) == 0)
break;
}
}
pNewProp->propertyName = property;
if (!pNewProp) {
if ((pNewProp = (RootWinPropPtr)xalloc(sizeof(RootWinProp))) == NULL) {
return(BadAlloc);
}
/*
* We will put this property at the end of the list so that
* the changes are made in the order they were requested.
*/
pNewProp->next = NULL;
} else {
if (pNewProp->name)
xfree(pNewProp->name);
existing = TRUE;
}
pNewProp->name = xnfstrdup(NameForAtom(property));
pNewProp->type = type;
pNewProp->format = format;
pNewProp->size = len;
pNewProp->data = value;
/* We will put this property at the end of the list so that
* the changes are made in the order they were requested.
*/
pNewProp->next = NULL;
#ifdef DEBUG
ErrorF("new property filled\n");
@ -2923,7 +2940,7 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
ErrorF("creating xf86RegisteredPropertiesTable[] size %d\n",
xf86NumScreens);
#endif
if ( NULL==(xf86RegisteredPropertiesTable=(PropertyPtr*)xnfcalloc(sizeof(PropertyPtr),xf86NumScreens) )) {
if ( NULL==(xf86RegisteredPropertiesTable=(RootWinPropPtr*)xnfcalloc(sizeof(RootWinProp),xf86NumScreens) )) {
return(BadAlloc);
}
for (i=0; i<xf86NumScreens; i++) {
@ -2933,22 +2950,24 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
#ifdef DEBUG
ErrorF("xf86RegisteredPropertiesTable %p\n",
xf86RegisteredPropertiesTable);
(void *)xf86RegisteredPropertiesTable);
ErrorF("xf86RegisteredPropertiesTable[%d] %p\n",
ScrnIndex, xf86RegisteredPropertiesTable[ScrnIndex]);
ScrnIndex, (void *)xf86RegisteredPropertiesTable[ScrnIndex]);
#endif
if ( xf86RegisteredPropertiesTable[ScrnIndex] == NULL) {
xf86RegisteredPropertiesTable[ScrnIndex] = pNewProp;
} else {
pRegProp = xf86RegisteredPropertiesTable[ScrnIndex];
while (pRegProp->next != NULL) {
if (!existing) {
if ( xf86RegisteredPropertiesTable[ScrnIndex] == NULL) {
xf86RegisteredPropertiesTable[ScrnIndex] = pNewProp;
} else {
pRegProp = xf86RegisteredPropertiesTable[ScrnIndex];
while (pRegProp->next != NULL) {
#ifdef DEBUG
ErrorF("- next %p\n", pRegProp);
ErrorF("- next %p\n", (void *)pRegProp);
#endif
pRegProp = pRegProp->next;
pRegProp = pRegProp->next;
}
pRegProp->next = pNewProp;
}
pRegProp->next = pNewProp;
}
#ifdef DEBUG
ErrorF("xf86RegisterRootWindowProperty succeeded\n");

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Init.c,v 3.211 2003/11/01 00:47:01 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Init.c,v 3.212 2004/01/27 01:31:45 dawes Exp $ */
/*
* Loosely based on code bearing the following copyright:
@ -155,7 +155,7 @@ xf86CreateRootWindow(WindowPtr pWin)
int ret = TRUE;
int err = Success;
ScreenPtr pScreen = pWin->drawable.pScreen;
PropertyPtr pRegProp, pOldRegProp;
RootWinPropPtr pProp;
CreateWindowProcPtr CreateWindow =
(CreateWindowProcPtr)(pScreen->devPrivates[xf86CreateRootWindowIndex].ptr);
@ -181,25 +181,19 @@ xf86CreateRootWindow(WindowPtr pWin)
}
/* Now do our stuff */
if (xf86RegisteredPropertiesTable != NULL) {
if (pWin->parent == NULL && xf86RegisteredPropertiesTable != NULL) {
for (pRegProp = xf86RegisteredPropertiesTable[pScreen->myNum];
pRegProp != NULL && err==Success;
pRegProp = pRegProp->next )
for (pProp = xf86RegisteredPropertiesTable[pScreen->myNum];
pProp != NULL && err==Success;
pProp = pProp->next )
{
Atom oldNameAtom = pRegProp->propertyName;
char *nameString;
/* propertyName was created before the screen existed,
* so the atom does not belong to any screen;
* we need to create a new atom with the same name.
*/
nameString = NameForAtom(oldNameAtom);
pRegProp->propertyName = MakeAtom(nameString, strlen(nameString), TRUE);
Atom prop;
prop = MakeAtom(pProp->name, strlen(pProp->name), TRUE);
err = ChangeWindowProperty(pWin,
pRegProp->propertyName, pRegProp->type,
pRegProp->format, PropModeReplace,
pRegProp->size, pRegProp->data,
prop, pProp->type,
pProp->format, PropModeReplace,
pProp->size, pProp->data,
FALSE
);
}
@ -207,14 +201,6 @@ xf86CreateRootWindow(WindowPtr pWin)
/* Look at err */
ret &= (err==Success);
/* free memory */
pOldRegProp = xf86RegisteredPropertiesTable[pScreen->myNum];
while (pOldRegProp!=NULL) {
pRegProp = pOldRegProp->next;
xfree(pOldRegProp);
pOldRegProp = pRegProp;
}
xf86RegisteredPropertiesTable[pScreen->myNum] = NULL;
} else {
xf86Msg(X_ERROR, "xf86CreateRootWindow unexpectedly called with "
"non-root window %p (parent %p)\n",
@ -303,7 +289,6 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
xf86ScreenIndex = AllocateScreenPrivateIndex();
xf86CreateRootWindowIndex = AllocateScreenPrivateIndex();
xf86PixmapIndex = AllocatePixmapPrivateIndex();
xf86RegisteredPropertiesTable=NULL;
generation = serverGeneration;
}
@ -749,6 +734,32 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
}
formatsDone = TRUE;
if (xf86Info.vtno >= 0 ) {
#define VT_ATOM_NAME "XFree86_VT"
Atom VTAtom=-1;
CARD32 *VT = NULL;
int ret;
/* This memory needs to stay available until the screen has been
initialized, and we can create the property for real.
*/
if ( (VT = xalloc(sizeof(CARD32)))==NULL ) {
FatalError("Unable to make VT property - out of memory. Exiting...\n");
}
*VT = xf86Info.vtno;
VTAtom = MakeAtom(VT_ATOM_NAME, sizeof(VT_ATOM_NAME), TRUE);
for (i = 0, ret = Success; i < xf86NumScreens && ret == Success; i++) {
ret = xf86RegisterRootWindowProperty(xf86Screens[i]->scrnIndex,
VTAtom, XA_INTEGER, 32,
1, VT );
if (ret != Success)
xf86DrvMsg(xf86Screens[i]->scrnIndex, X_WARNING,
"Failed to register VT property\n");
}
}
/* If a screen uses depth 24, show what the pixmap format is */
for (i = 0; i < xf86NumScreens; i++) {
if (xf86Screens[i]->depth == 24) {
@ -1251,8 +1262,8 @@ AbortDDX()
void
OsVendorFatalError()
{
ErrorF("\nWhen reporting a problem related to a server crash, please send\n"
"the full server output, not just the last messages.\n");
ErrorF("\nWhen reporting a problem related to a server crash, please\n"
"send the full server output, not just the last messages.\n");
if (xf86LogFile && xf86LogFileWasOpened)
ErrorF("This can be found in the log file \"%s\".\n", xf86LogFile);
ErrorF("Please report problems to %s.\n", BUILDERADDR);
@ -1703,14 +1714,15 @@ xf86PrintBanner()
{
#if PRE_RELEASE
ErrorF("\n"
"This is a pre-release version of XFree86, and is not supported in any\n"
"way. Bugs may be reported to XFree86@XFree86.Org and patches submitted\n"
"to fixes@XFree86.Org. Before reporting bugs in pre-release versions,\n"
"please check the latest version in the XFree86 CVS repository\n"
"(http://www.XFree86.Org/cvs).\n");
"This is a pre-release version of the X.org Foundation's X11.\n"
"Portions of this release are based on XFree86 4.4RC2 and selected\n"
"files from XFree86 4.4RC3. It is not supported in any way.\n"
"Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.\n"
"Select the \"xorg\" product for bugs you find in this release.\n"
"Before reporting bugs in pre-release versions please check the\n"
"latest version in the X.org Foundation \"monolithic tree\" CVS\n"
"repository hosted at http://www.freedesktop.org/Software/xorg/");
#endif
ErrorF("\nXFree86 Version %d.%d.%d", XF86_VERSION_MAJOR, XF86_VERSION_MINOR,
XF86_VERSION_PATCH);
#if XF86_VERSION_SNAP > 0
ErrorF(".%d", XF86_VERSION_SNAP);
#endif

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86Mode.c,v 1.1.4.3 2004/02/25 21:46:46 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Mode.c,v 1.69 2003/10/08 14:58:28 dawes Exp $ */
/*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
@ -1683,7 +1683,7 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
#ifdef RANDR
if (!xf86Info.disableRandR
#ifdef XINERAMA
&& noXineramaExtension
&& noPanoramiXExtension
#endif
)
validateAllDefaultModes = TRUE;

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Priv.h,v 3.82 2003/09/09 03:20:36 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Priv.h,v 3.83 2004/01/27 01:31:45 dawes Exp $ */
/*
* Copyright (c) 1997-2002 by The XFree86 Project, Inc.
@ -113,6 +113,8 @@ extern int xf86LogVerbose; /* log file verbosity level */
extern Bool xf86ProbeOnly;
extern Bool xf86DoProbe;
extern RootWinPropPtr *xf86RegisteredPropertiesTable;
#ifndef DEFAULT_VERBOSE
#define DEFAULT_VERBOSE 0
#endif

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Privstr.h,v 1.40 2003/10/17 20:02:12 alanh Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Privstr.h,v 1.41 2004/01/27 01:31:45 dawes Exp $ */
/*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
@ -198,6 +198,16 @@ typedef struct {
} VidModeRec, *VidModePtr;
#endif
/* Information for root window properties. */
typedef struct _RootWinProp {
struct _RootWinProp * next;
char * name;
Atom type;
short format;
long size;
pointer data;
} RootWinProp, *RootWinPropPtr;
/* private resource types */
#define ResNoAvoid ResBios

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86RandR.c,v 1.1.4.3 2004/02/25 21:46:46 kaleb Exp $ */
/*
* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86RandR.c,v 1.8 2003/11/10 16:42:13 tsi Exp $
*
@ -246,7 +246,7 @@ xf86RandRInit (ScreenPtr pScreen)
#ifdef XINERAMA
/* XXX disable RandR when using Xinerama */
if (!noXineramaExtension)
if (!noPanoramiXExtension)
return TRUE;
#endif
if (xf86RandRGeneration != serverGeneration)

View File

@ -1,3 +1,4 @@
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86cmap.c,v 1.1.4.2 2004/02/16 20:19:59 alanc Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86cmap.c,v 1.25 2003/10/17 20:02:12 alanh Exp $ */
/*
* Copyright (c) 1998-2001 by The XFree86 Project, Inc.
@ -26,7 +27,8 @@
* authorization from the copyright holder(s) and author(s).
*/
#if defined(_XOPEN_SOURCE) || defined(__QNXNTO__)
#if defined(_XOPEN_SOURCE) || defined(__QNXNTO__) \
|| (defined(sun) && defined(__SVR4))
#include <math.h>
#else
#define _XOPEN_SOURCE /* to get prototype for pow on some systems */

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/Xext/extmod/modinit.h,v 1.1.4.2 2004/02/25 21:46:34 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/Xext/extmod/modinit.h,v 1.2 2003/09/13 21:33:04 dawes Exp $ */
#ifndef INITARGS
@ -137,7 +137,7 @@ extern void XpExtensionInit(INITARGS);
#endif
#if 1
extern void XineramaExtensionInit(int argc, char *argv[]);
extern void PanoramiXExtensionInit(int argc, char *argv[]);
#endif
#if 1

View File

@ -987,23 +987,28 @@ earlier in this document.
The `X-TrueType' backend is a backend based on version 1 of the FreeType
library. X-TrueType doesn't use the `fontenc' layer for managing font encod-
ings, but instead uses its own database of encodings. Since the functionali-
ties for CJKV support introduced by X-TT have been merged into the new
FreeType backend, the X-TT backend will be removed from XFree86's tree near
the future. Therefore, the use of FreeType backend is preferred over the X-
TT backend. General information on X-TrueType may be found at ."
ings, but instead uses its own database of encodings.
Since the functionalities for CJKV support introduced by X-TT have been
merged into the new FreeType backend, the X-TT backend will be removed from
XFree86's tree near the future. Therefore, the use of FreeType backend is
preferred over the X-TT backend.
General information on X-TrueType may be found at the After X-TT Project page
<URL:http://x-tt.sourceforge.jp/>.
4.2.3 Delayed glyph rasterisation
When loading a large character set, the old FreeType delayed glyph rasterisa-
tion until the time at which the glyph was first used. The new FreeType
(libfreetype-xtt2) has an improved `very lazy' metric calculation method to
speed up the process when loading TrueType or OpenType fonts. Although the
X-TT module also has this method, the "vl=y" TTCap option must be set if you
want to use it. This is the default method for FreeType when it loads multi-
byte fonts. Even if you use a unicode font which has tens of thousands of
glyphs, this delay will not be worrisome as long as you use the new FreeType
backend -- its `very lazy' method is super-fast.
When loading a proportional fonts which contain a huge number of glyphs, the
old FreeType delayed glyph rasterisation until the time at which the glyph
was first used. The new FreeType (libfreetype-xtt2) has an improved `very
lazy' metric calculation method to speed up the process when loading TrueType
or OpenType fonts. Although the X-TT module also has this method, the
"vl=y" TTCap option must be set if you want to use it. This is the default
method for FreeType when it loads multi-byte fonts. Even if you use a uni-
code font which has tens of thousands of glyphs, this delay will not be wor-
risome as long as you use the new FreeType backend -- its `very lazy' method
is super-fast.
The maximum error of bitmap position using `very lazy' method is 1 pixel, and
is the same as that of a character-cell spacing. When the X-TT backend is
@ -1176,7 +1181,7 @@ The IANA RFC documents, available from a number of sites throughout the
world, often provide interesting information about character set issues; see
for example RFC 373.
Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml,v 1.23 dawes Exp $
Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml,v 1.24 dawes Exp $
$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.fonts,v 1.27 2003/11/24 01:57:56 dawes Exp $
$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.fonts,v 1.28 2003/12/20 19:47:28 dawes Exp $

View File

@ -1,4 +1,259 @@
XFree86 4.3.99.903 (xx December 2003)
XFree86 4.3.99.904 (xx February 2004)
XFree86 4.3.99.903 (15 February 2004)
805. Resync the pci.ids data with pciids.sf.net (2004-02-15 snapshot).
804. Improve X server performance on OS/2 when using TCP transport:
- Let the server set TCP_NODELAY, et al.
- Change the behavior of os2PseudoSelect() on sockets.
(Bugzilla #1175, Frank Giessler).
803. X server on OS/2 doesn't respect AutoRepeat on/off unless XKB is disabled
(Bugzilla #1174, Frank Giessler).
802. Licence update.
801. Optimise SlowBcopy() for ia64 architecture (Marc La France).
800. Simplify vgaHWSaveFonts() and vgaHWRestoreFonts() to fix hangs seen with
certain nVidia boards on ZX1-based systems (Marc La France).
799. Some more font path checks.
798. Don't define X_LOCALE on Panther (Etsushi Kato and Toshimitsu Tanaka).
797. Fix GL_VERSION string for indirect rendering (Bugzilla #1147, DRI Project)
796. Fix the 1024x576 modes in the via driver (Bugzilla #812, Luc Verhaegen,
reported by Julian Cable).
795. Add uz_UZ locale (Bugzilla #1151, Mashrab Kuvatov).
794. Fix font alias overrun.
793. Fix for the way the FreeType backend sets the
_ADOBE_POSTSCRIPT_FONTNAME property for Type1 fonts (Bugzilla #1123,
David Dawes, based on Roland Mainz, reported by David Capshaw).
792. Fix formatting of the XLookupString bytes that xev prints out (Bugzilla
#1153, Noah Levitt).
791. Likely fix for FreeBSD 5.2 libGL build problem (David Dawes, reported by
Terry R. Friedrichsen).
790. Fix typo in bsd_mouse.c (Tyler Retzlaff).
789. Fix off-by-one errors in the emulation of an ix86's BT, BTS, BTR and BTC
instructions (Marc La France).
788. Fixing segfaults that may happen in some corner cases on VT switch
and int10 initialization (Egbert Eich).
787. Increase PCI I/O space size on Linux/PowerPC (Bugzilla #1143,
Paul Mackerras).
786. Fix DRI cleanup at exit and re-enabling on reset for the via driver
(Bugzilla #998, Thomas Hellström).
785. Fix Xv error propagation to the client for the via driver (Bugzilla #998,
Thomas Hellström).
784. Fix a problem when utilizing DrawArrays when indirect rendering
(Bugzilla #1142, DRI Project).
783. Xterm followup fix for Bugzilla #981 (Thomas Dickey).
782. Fix EXT version of vertex arrays (DRI Project).
781. Fix long-standing off-by-one bug in calculating dimensions of single
(private) back cliprect when the window is partially offscreen in
libdri.a (Keith Whitwell)
780. Don't do the MGAISBUSY() loop in MGAStormSync() for Mystique cards
because this reportedly results in an infinite loop (Bugzila #85,
David Dawes, reported by Phil ??? and Stéphane VOLTZ).
779. Make sure the r128 driver enables the hsync and vsync signals after
programming a video mode (Bugzilla #935, Kevin Martin).
778. Fix Multitexture problems with vertex arrays and indirect rendering
(Bugzilla #1092, DRI Project).
777. Fix SecondaryColor & FogColor when indirect rendering (Bugzilla #1091,
DRI Project).
776. Fix build failures on Mac OS X 10.1.x (Torrey T. Lyons).
775. Fix a timing problem in the nsc driver that prevents the display from
working in some cases (Bugzilla #840, Hansruedi Glauser, Alan Hourihane).
774. Via driver workaround to handle setting WC for the video memory when
initially only part of it has WC set (Bugzilla #1010 Thomas Hellström).
773. Fix the XAA clipping flags for the via driver, which fixes a line
drawing problem seen with OpenOffice Calc (Bugzilla #1026,
Thomas Hellström).
772. HKSCS and GB18030 support for luit (Bugzilla #1048, Zarick Lau).
771. Fix some remaining memory allocation related problems with the via
driver (Bugzilla #998, Thomas Hellström).
770. Add a UseRpath build switch to allow the use of -rpath to be enabled
or disabled from the host.def file. Implemented for *BSD, Hurd, Linux.
The default settings remains as before (David Dawes).
769. Add a root window property called XFree86_VT that holds the VT number
that the XFree86 server is running on (Andrew Aitcheson, suggested by
Samuel Thibault).
768. Fix a problem where root window properties registered with
xf86RegisterRootWindowProperty() are not re-registered after server
regeneration (David Dawes, reported by Samuel Thibault).
767. Fix xtest failures for the savage driver's zero width lines by
removing the TwoPointLine and using only the Bresenham version
(reported by Nicolas Joly).
766. Fix refresh rate setting for 845G/856G systems that don't support the
Intel-specific refresh rate BIOS calls (Bugzilla #1106, David Dawes,
reported by Lucian Precup).
765. Fixes/build updates for BSD/OS 5.1 and 4.3.1 (Bugzilla #1111, Kurt Lidl).
764. Fix a problem in libXmu's FindChildren() that can cause a crash by
copying memory from outside the bounds of an array (Bugzilla #1109,
John Tillman).
763. Add missing TimerCallback in trident_video.c to shutdown the video.
This could account for many peoples lockups with video on Trident chips.
Also, add a Wait for vsync when programming video modes to avoid lockups.
(Yukun Chen, Alan Hourihane).
762. Fix a lockup problem on Trident Blade3D engines by permanently turning
on PCI Retry. Also sync the engine on CloseScreen and LeaveVT.
(Yukun Chen, Alan Hourihane).
761. Fix getaddrinfo() return value check in SmsGenerateClientID() that was
causing a crash when the current hostname is unresolved, and returning
a NULL id otherwise (Bugzilla #1096, David Dawes).
760. Support automatic configuration of the X server on OpenBSD with
wsmouse-supported mices. (Matthieu Herrb).
759. Updates for XKB keyboard maps:
- Add Tibetan/Dzongkha keyboard layout (Bugzilla #1082, Gregory Mokhin).
- Add three new Internet/multimedia keyboard descriptions
(Bugzilla #1088, Radics Laszlo).
758. Add overlooked SecondaryColor entries to AppleDRI indirect dispatch
table (Torrey T. Lyons).
757. Allocate pBIOSInfo->UserSetting in the via driver, which fixes a crash
(James Harris).
756. Fix Linux drm kernel modules to handle the nopage() prototype change in
Linux 2.6.1 (Michel Dänzer, from DRI CVS).
755. Fix use of dynamic xcursors on OS/2 (Bugzilla #1087, Frank Giessler).
754. Fix the fbdev driver so that it allows 24-bit pixel size, and disable
the RandR extension when rotation is enabled (Jonathan Thambidurai).
753. Rendition driver fixes:
- Fix the mode size limits so that the set of modes that the driver
accepts isn't unnecessarily restricted.
- Fix color palette refreshing after VT switching.
- Fix a core dump at server exit with the hardware cursor was enabled.
- Add checking for supported depths. Without this the server could
crash if an unsupported depth was specified.
(Eric Wittry)
752. Update XKB registry file rules/xfree86.xml (Sergey Oudaltsov).
751. Fix some rules in en_US.UTF-8 Compose file (Bugzilla #1071,
Matthew Fischer).
750. Add some content (supported hardware and driver options) to the tdfx(4)
man page (Bugzilla #1068, Nicolas Joly).
749. Make '-pn' (partial network) the default for all X servers, and document
the '-nopn' option (David Dawes).
748. Allow rstartd.real to be installed into a location other than LIBDIR
(#6034, Luke Mewburn).
747. Allow xdm's chooser to be installed into a directory other than LIBDIR
(#6033, Luke Mewburn).
746. Add XKB description for the Logitech Access keyboard (#6026,
Michael Geddes).
745. Fix typo in computing xterm's relative font size (Jess Thrysoee).
744. Fix typo in savage man page (Bugzilla #1065, Nicolas Joly).
743. Fix for xf86Msg() call with swapped arguments (Bugzilla #1064,
Nicolas Joly).
742. Set the dependencies correctly for SCO shared libraries, and use gcc
for linking instead of ld (Bugzilla #1045, Kean Johnston).
741. Some cleanups for the SCO support, and a few changes required for
compilation on UnixWare (Bugzilla #1045, Kean Johnston).
740. Make the X server lock file code treat the display string in the same
way as the local listener code (i.e., convert it to an integer then back
to a string). This fixes a problem where an non-numeric display
argument could cause a second server to be started on display :0,
replacing the local listener nodes for the original server.
(Bugzilla #1056, David Dawes, reported by Robin Schoonover).
739. Fix xfs and xdm core dumps in BecomeOrphan(), and rework/simplify
the BecomeDaemon() code (Bugzilla #1060, #1074, David Dawes,
reported by Martin Birgmeier).
738. Add a "VBERestore" option for the i830 part of the i810 driver, to
allow the VBE restore bug workaround to be disabled. This is needed
for correct text mode restoration on some 830M-based machines
(David Dawes, reported by Martin van Es).
737. Fix memory leak when list of registered renderers are cleared at the
start of each new server generation (Kevin Martin and Rik Faith).
736. Fix memory double freeing at XIM destroying in imLcIm.c (Ivan Pascal,
reported: Bugzilla #1015).
735. Add xkb keymap for Microsoft Mutimedia Keyboard keys (Bugzilla #1052,
Jacques Legare).
734. Update Compose file for en_US.UTF-8 locale (Bugzilla #1053,
Matthew Fischer) and fix wrong comment signs there (Ivan Pascal).
733. VIA driver fixes:
- Restructure the via driver's cache allocation to work with both
the VIA and new open DRI module, and remove the now unneeded
version check (Thomas Hellström, Alan Cox, bugzilla #998).
- Remove special case lindvd hack (Alan Cox)
- Add support for Xv when unaccelerated (Thomas Hellström)
(Bugzilla #998, #1020, #1021).
732. Check for a NULL argument in XSetICFocus() before dereferencing it.
This fixes crashes with some XIM software (see
http://bugzilla.mozilla.gr.jp/show_bug.cgi?id=2961#c19).
731. Improve the i810 bitblt bug workaround, and re-enable the pixmap cache
at depth 24 (David Dawes).
730. Workaround for lockup at mode switch with an i810 (David Dawes).
729. Fix transparent mono 8x8 pattern fills for the i810 (David Dawes).
728. Disable XKB by default in XDarwin (Torrey T. Lyons).
727. Fix manpage build warnings on Panther (Matthieu Herrb).
726. Make sure that the ring buffer is flushed in I810CloseScreen(). This
fixes unpredictable behaviour that sometimes shows up after server
exit/restart or server reset, including memory corruption, spontaneous
reboots, etc, and some odd xtest behaviour (David Dawes).
725. Xdmcp fixes for IPv6 and mixed IPv6/IPv4 operation. (Mario Klebsch,
Matthieu Herrb).
724. Update rman by merging XFree86 changes to rman 3.2 (Thomas Dickey).
723. Create fonts.scale and fonts.dir files in the target directories at
'make install' time. This fixes several problems where some font
entries get left out (David Dawes).
722. Add the Bitstream Vera fonts (Bitstream, Inc and The Gnome Project).
721. Xterm patches #183, #184 (Thomas Dickey).
720. Build fix for the Chips driver on Linux/arm (#6011, Michel Dänzer and
Othmar Pasteka).
719. Change v4l "norm" names to the bttv versions (#5993,
Marco Antonio Alvarez).
718. Fix for symbols/hr map (#5991, Vlatko Kosturjak).
717. The current VIA DRI driver isn't remotely compatible with the current
code, so make sure it isn't loaded by requiring version 2.0.0 or later
(Alan Cox).
716. Fix VIA KM400 memory detection (Luc Verhaegen, Bugzilla #813).
715. Fix a long standing VIA Xv problem with totem/xine and YUV surface
types (Uberto Barbini).
714. VIA driver updates/fixes:
- Remove HARDWARE_NEEDS_PROGRAMMED_ORIGIN (Bugzilla #1011).
- Allocate the UserSetting structure and use it. Changed the names so
its uses can be tracked through the tree (Bugzilla #1006, #1014).
- Remove dead FIFO handling code.
- Clean up formatting in via_bios.h, via_driver.h.
- via_tuner module (1/2 of Bugzilla #1012, #1013):
+ Add via_tuner structures and methods.
+ Handle the back end work for boards with Philips SAA71xx
devices on the I2C bus providing one or two TV overlays.
+ Handle CXA2104S audio decoder if present.
+ Handle FI1236 TV tuners if present.
- Remove bogus DriverVersion, DriverName stuff.
- Xv updates (Bugzilla #1013):
+ Remove DDR mode tables and compute supported overlay modes properly.
+ Remove various bits of dead code.
+ Probe for Tuners in the Xv setup.
+ Don't advertise XvImageMask on the tuner overlays - they can't do it.
+ Clean up tuner channel computation.
+ Make the property setting code use the via_tuner backend.
+ Fix formatting of the various YUV copying loops.
(Alan Cox).
713. Add a missing code for jisx0208.1990-0.enc (Chisato Yamauchi).
712. Xtt2 update: Restore the behaviour of "bw" TTCap option for Netscape 4.x.
(Chisato Yamauchi).
711. Fix neomagic driver default mode selection to match the detected
panel size. This allows it to work correctly with automatic
configuration (David Dawes).
710. Fixes and updates for XKB keyboard maps:
- Fix Armenian phonetic keymap (Bugzilla #1016, Ani).
- Fix rules for Brasilian ABNT2 keyboard (Ricardo Y. Igarashi).
- Add Shift+CapsLock group switcher (Ivan Pascal, see Bugzilla #1025).
- Update rules/xfree86.lst with missing descriptions (Ivan Pascal).
709. Build fix for Solaris Express (Bugzilla #1032, Alan Coopersmith).
708. Fix warning in lib/Xt/Alloc.c (Bugzilla #1035, Nicolas Joly).
707. Fix short overflow problem with box clipping in fb/fbcopy.c
(Bugzilla #978, Stephen McCamant).
706. Fix logic in xterm's get_pty() for platforms where old-style pty's are
preferred to /dev/ptmx (Bugzilla #997, Kean Johnston, Thomas Dickey).
705. Fix handling of eightBitInput for UTF-8 locales in xterm (Thomas Dickey).
704. Merge recent cygwin-related changes from freedesktop.org's config/cf
(Thomas Dickey).
703. Disable Xv in the via driver when acceleration is disabled (Alan Cox).
702. Fix bugs caused by empty PCI buses on ZX1-based systems (Marc La France).
701. Fix optional save/restore of BIOS area data in int10 module
(Marc La France).
700. Update Swedish localization of XDarwin GUI (Patrik Montgomery).
699. Fixes to build/run on cygwin (Thomas Dickey). This includes a workaround
for _XtInherit by Ralf Habacker, needed to run applications such as xman.
698. Warning fixes for gcc 3.3.2 (Marc La France).
697. Fix file descriptor leaks in xdm (Marc La France).
696. Fix memory leaks in libFS (Marc La France).
695. Security fix: change xdm to use mkstemp(), where available, instead of
mktemp() (Marc La France).
694. Update XKB registry file rules/xfree86.xml (Sergey Oudaltsov).
693. Fix for FreeType-related crash when attempting to draw a missing glyph
with constant-width fonts (Chisato Yamauchi).
XFree86 4.3.99.902 (18 December 2003)
672. Fixes for xterm (Thomas Dickey):
@ -18391,7 +18646,7 @@ XFree86 3.0a (28 April 1994)
XFree86 3.0 (26 April 1994)
$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.3043 2003/12/19 04:52:08 dawes Exp $
$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.3145 2004/02/16 01:01:45 dawes Exp $

View File

@ -25,9 +25,9 @@
<article>
<title>XFree86 X server ``New Design'' (DRAFT)
<title>XFree86 server 4.x Design (DRAFT)
<author>The XFree86 Project, Inc
<date>Last modified 2003 January 22
<date>19 December 2003
@ -36,7 +36,7 @@
<ident>
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.53 2003/08/23 14:10:14 dawes Exp $
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.54 2003/12/19 20:38:57 dawes Exp $
</ident>

View File

@ -1,6 +1,5 @@
#!/bin/sh
# $XdotOrg: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.sh,v 1.2 2003/09/20 01:45:57 dawes Exp $
# $DHD: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.sh,v 1.2 2003/09/20 01:45:57 dawes Exp $
#
@ -15,42 +14,26 @@
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions, and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# 3. The end-user documentation included with the redistribution,
# if any, must include the following acknowledgment: "This product
# includes software developed by X-Oz Technologies
# (http://www.x-oz.com/)." Alternately, this acknowledgment may
# appear in the software itself, if and wherever such third-party
# acknowledgments normally appear.
#
# 4. Except as contained in this notice, the name of X-Oz
# Technologies shall not be used in advertising or otherwise to
# promote the sale, use or other dealings in this Software without
# prior written authorization from X-Oz Technologies.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL X-OZ TECHNOLOGIES OR ITS CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the copyright holder(s)
# and author(s) shall not be used in advertising or otherwise to promote
# the sale, use or other dealings in this Software without prior written
# authorization from the copyright holder(s) and author(s).
#
# Author: David Dawes <dawes@XFree86.Org>.
#
# $XFree86: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.sh,v 1.2 2003/12/12 00:39:16 dawes Exp $
# $XFree86: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.sh,v 1.1 2003/10/08 14:58:29 dawes Exp $
# A simple wrapper to execute the real getconfig program. So long as perl
# is in $PATH, we don't need to know where it is this way.

View File

@ -1,6 +1,5 @@
#!/usr/bin/perl
# $XdotOrg: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.pl,v 1.13 2003/09/23 05:12:07 dawes Exp $
# $DHD: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.pl,v 1.13 2003/09/23 05:12:07 dawes Exp $
#
@ -15,42 +14,26 @@
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions, and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# 3. The end-user documentation included with the redistribution,
# if any, must include the following acknowledgment: "This product
# includes software developed by X-Oz Technologies
# (http://www.x-oz.com/)." Alternately, this acknowledgment may
# appear in the software itself, if and wherever such third-party
# acknowledgments normally appear.
#
# 4. Except as contained in this notice, the name of X-Oz
# Technologies shall not be used in advertising or otherwise to
# promote the sale, use or other dealings in this Software without
# prior written authorization from X-Oz Technologies.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL X-OZ TECHNOLOGIES OR ITS CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the copyright holder(s)
# and author(s) shall not be used in advertising or otherwise to promote
# the sale, use or other dealings in this Software without prior written
# authorization from the copyright holder(s) and author(s).
#
# Author: David Dawes <dawes@XFree86.Org>.
#
# $XFree86: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.pl,v 1.2 2003/12/12 00:39:16 dawes Exp $
# $XFree86: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.pl,v 1.1 2003/10/08 14:58:29 dawes Exp $
#
# This script takes PCI id information, compares it against an ordered list

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/helper_exec.c,v 1.26 2003/11/06 18:38:12 tsi Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/helper_exec.c,v 1.27 2003/12/23 22:32:38 tsi Exp $ */
/*
* XFree86 int10 module
* execute BIOS int 10h calls in x86 real mode environment
@ -56,7 +56,7 @@ setup_int(xf86Int10InfoPtr pInt)
X86_GS = 0;
X86_EFLAGS = X86_IF_MASK | X86_IOPL_MASK;
#if defined (_PC)
if (pInt->flags & SET_BIOS_SCRATCH)
if (pInt->Flags & SET_BIOS_SCRATCH)
SetResetBIOSVars(pInt, TRUE);
#endif
return xf86BlockSIGIO();
@ -76,7 +76,7 @@ finish_int(xf86Int10InfoPtr pInt, int sig)
pInt->bp = (CARD32) X86_EBP;
pInt->flags = (CARD32) X86_FLAGS;
#if defined (_PC)
if (pInt->flags & RESTORE_BIOS_SCRATCH)
if (pInt->Flags & RESTORE_BIOS_SCRATCH)
SetResetBIOSVars(pInt, FALSE);
#endif
}

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/coffloader.c,v 1.21 2003/10/15 17:40:15 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/coffloader.c,v 1.22 2003/12/22 17:48:11 tsi Exp $ */
/*
*
@ -133,7 +133,9 @@ static COFFCommonPtr COFFAddCOMMON(SYMENT *, int);
static LOOKUP *COFFCreateCOMMON(COFFModulePtr);
static COFFRelocPtr COFFDelayRelocation(COFFModulePtr, int, RELOC *);
static SYMENT *COFFGetSymbol(COFFModulePtr, int);
#if defined(i386) || defined(__powerpc__)
static unsigned char *COFFGetSymbolValue(COFFModulePtr, int);
#endif
static COFFRelocPtr COFF_RelocateEntry(COFFModulePtr, int, RELOC *);
static LOOKUP *COFF_GetSymbols(COFFModulePtr);
static void COFFCollectSections(COFFModulePtr);
@ -298,6 +300,7 @@ COFFGetSymbol(COFFModulePtr file, int index)
return (SYMENT *) (((unsigned char *)file->symtab) + (index * SYMESZ));
}
#if defined(i386) || defined(__powerpc__)
static unsigned char *
COFFGetSymbolValue(COFFModulePtr cofffile, int index)
{
@ -323,6 +326,7 @@ COFFGetSymbolValue(COFFModulePtr cofffile, int index)
xf86loaderfree(symname);
return symval;
}
#endif
#if defined(__powerpc__)
/*

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/loader/extsym.c,v 1.1.4.3 2004/02/25 21:46:53 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/extsym.c,v 1.9 2003/10/15 16:29:03 dawes Exp $ */
/*
@ -29,7 +29,7 @@
#include "sym.h"
#include "misc.h"
#ifdef XINERAMA
#include "xinerama.h"
#include "panoramiX.h"
#endif
#include "sleepuntil.h"
@ -40,10 +40,10 @@ extern RESTYPE ShmSegType, ShmPixType;
#endif
#ifdef XINERAMA
extern Bool noXineramaExtension;
extern int XineramaNumScreens;
extern XineramaData *xineramaDataPtr;
extern XID *XineramaVisualTable;
extern Bool noPanoramiXExtension;
extern int PanoramiXNumScreens;
extern PanoramiXData *panoramiXdataPtr;
extern XID *PanoramiXVisualTable;
extern unsigned long XRT_WINDOW;
extern unsigned long XRT_PIXMAP;
extern unsigned long XRT_GC;
@ -66,10 +66,10 @@ LOOKUP extLookupTab[] = {
#ifdef XINERAMA
SYMFUNC(XineramaRegisterConnectionBlockCallback)
SYMFUNC(XineramaDeleteResource)
SYMVAR(noXineramaExtension)
SYMVAR(XineramaNumScreens)
SYMVAR(xineramaDataPtr)
SYMVAR(XineramaVisualTable)
SYMVAR(noPanoramiXExtension)
SYMVAR(PanoramiXNumScreens)
SYMVAR(panoramiXdataPtr)
SYMVAR(PanoramiXVisualTable)
SYMVAR(XRT_WINDOW)
SYMVAR(XRT_PIXMAP)
SYMVAR(XRT_GC)

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/fontsym.c,v 1.13 2003/10/15 16:29:04 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/fontsym.c,v 1.14 2003/12/20 20:04:34 dawes Exp $ */
/*
* Copyright (c) 1998-2002 by The XFree86 Project, Inc.
*
@ -37,8 +37,10 @@
#include "fntfil.h"
#include "fontutil.h"
#include "fontxlfd.h"
#ifdef FONTCACHE
#define _FONTCACHE_SERVER_
#include "fontcache.h"
#endif
LOOKUP fontLookupTab[] = {
@ -89,6 +91,7 @@ LOOKUP fontLookupTab[] = {
SYMFUNC(identifyEncodingFile)
#endif
#ifdef FONTCACHE
/* fontcache.c */
SYMFUNC(FontCacheGetSettings)
SYMFUNC(FontCacheGetStatistics)
@ -99,6 +102,7 @@ LOOKUP fontLookupTab[] = {
SYMFUNC(FontCacheGetEntry)
SYMFUNC(FontCacheInsertEntry)
SYMFUNC(FontCacheGetBitmap)
#endif
{0, 0}
};

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.5 2003/04/03 16:50:04 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.6 2003/12/30 15:18:30 herrb Exp $ */
/*
* Copyright 1992 by Rich Murphey <Rich@Rice.edu>
* Copyright 1993 by David Wexelblat <dwex@goblin.org>
@ -121,7 +121,7 @@ static struct alpha_bus_window *abw;
static int abw_count = -1;
static void
init_abw()
init_abw(void)
{
if (abw_count < 0) {
abw_count = alpha_bus_getwindows(ALPHA_BUS_TYPE_PCI_MEM, &abw);
@ -142,7 +142,7 @@ has_bwx(void)
}
static unsigned long
dense_base()
dense_base(void)
{
if (abw_count < 0)
init_abw();
@ -154,7 +154,7 @@ dense_base()
}
static unsigned long
memory_base()
memory_base(void)
{
if (abw_count < 0)
init_abw();
@ -284,11 +284,13 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem)
xf86Msg(X_PROBED,"Machine needs sparse mapping\n");
pVidMem->mapMem = mapVidMemSparse;
pVidMem->unmapMem = unmapVidMemSparse;
#ifndef __NetBSD__
if (axpSystem == -1)
axpSystem = bsdGetAXP();
hae_thresh = xf86AXPParams[axpSystem].hae_thresh;
hae_mask = xf86AXPParams[axpSystem].hae_mask;
sparse_size = xf86AXPParams[axpSystem].size;
#endif /* __NetBSD__ */
}
pVidMem->initialised = TRUE;
}
@ -314,7 +316,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
MAP_FLAGS, devMemFd, (off_t)Base + BUS_BASE_BWX);
if (base == MAP_FAILED)
{
FatalError("%s: could not mmap %s [s=%x,a=%x] (%s)\n",
FatalError("%s: could not mmap %s [s=%lx,a=%lx] (%s)\n",
"xf86MapVidMem", DEV_MEM, Size, Base,
strerror(errno));
}
@ -324,7 +326,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
/* else, mmap /dev/vga */
if ((unsigned long)Base < 0xA0000 || (unsigned long)Base >= 0xC0000)
{
FatalError("%s: Address 0x%x outside allowable range\n",
FatalError("%s: Address 0x%lx outside allowable range\n",
"xf86MapVidMem", Base);
}
base = mmap(0, Size,
@ -372,7 +374,7 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
if ((long)ptr == -1)
{
xf86Msg(X_WARNING,
"xf86ReadBIOS: %s mmap[s=%x,a=%x,o=%x] failed (%s)\n",
"xf86ReadBIOS: %s mmap[s=%x,a=%lx,o=%lx] failed (%s)\n",
DEV_MEM, Len, Base, Offset, strerror(errno));
return(-1);
}
@ -446,7 +448,9 @@ xf86EnableInterrupts()
#define vuip volatile unsigned int *
#ifndef __NetBSD__
static unsigned long msb_set = 0;
#endif
static pointer memSBase = 0;
static pointer memBase = 0;
@ -490,6 +494,7 @@ struct parms {
u_int64_t hae;
};
#ifndef __NetBSD__
static int
sethae(u_int64_t hae)
{
@ -505,6 +510,7 @@ sethae(u_int64_t hae)
return -1;
#endif
}
#endif /* __NetBSD__ */
static pointer
mapVidMemSparse(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
@ -552,11 +558,13 @@ static int
readSparse8(pointer Base, register unsigned long Offset)
{
register unsigned long result, shift;
#ifndef __NetBSD__
register unsigned long msb;
#endif
mem_barrier();
Offset += (unsigned long)Base - (unsigned long)memBase;
shift = (Offset & 0x3) << 3;
#ifndef __NetBSD__
if (Offset >= (hae_thresh)) {
msb = Offset & hae_mask;
Offset -= msb;
@ -565,7 +573,7 @@ readSparse8(pointer Base, register unsigned long Offset)
msb_set = msb;
}
}
#endif
result = *(vuip) ((unsigned long)memSBase + (Offset << 5));
result >>= shift;
return 0xffUL & result;
@ -575,11 +583,14 @@ static int
readSparse16(pointer Base, register unsigned long Offset)
{
register unsigned long result, shift;
#ifndef __NetBSD__
register unsigned long msb;
#endif
mem_barrier();
Offset += (unsigned long)Base - (unsigned long)memBase;
shift = (Offset & 0x2) << 3;
#ifndef __NetBSD__
if (Offset >= (hae_thresh)) {
msb = Offset & hae_mask;
Offset -= msb;
@ -588,6 +599,7 @@ readSparse16(pointer Base, register unsigned long Offset)
msb_set = msb;
}
}
#endif
result = *(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2)));
result >>= shift;
return 0xffffUL & result;
@ -603,11 +615,14 @@ readSparse32(pointer Base, register unsigned long Offset)
static void
writeSparse8(int Value, pointer Base, register unsigned long Offset)
{
#ifndef __NetBSD__
register unsigned long msb;
#endif
register unsigned int b = Value & 0xffU;
write_mem_barrier();
Offset += (unsigned long)Base - (unsigned long)memBase;
#ifndef __NetBSD__
if (Offset >= (hae_thresh)) {
msb = Offset & hae_mask;
Offset -= msb;
@ -616,17 +631,21 @@ writeSparse8(int Value, pointer Base, register unsigned long Offset)
msb_set = msb;
}
}
#endif
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
}
static void
writeSparse16(int Value, pointer Base, register unsigned long Offset)
{
#ifndef __NetBSD__
register unsigned long msb;
#endif
register unsigned int w = Value & 0xffffU;
write_mem_barrier();
Offset += (unsigned long)Base - (unsigned long)memBase;
#ifndef __NetBSD__
if (Offset >= (hae_thresh)) {
msb = Offset & hae_mask;
Offset -= msb;
@ -635,6 +654,7 @@ writeSparse16(int Value, pointer Base, register unsigned long Offset)
msb_set = msb;
}
}
#endif
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
w * 0x00010001;
@ -651,10 +671,13 @@ writeSparse32(int Value, pointer Base, register unsigned long Offset)
static void
writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
{
#ifndef __NetBSD__
register unsigned long msb;
#endif
register unsigned int b = Value & 0xffU;
Offset += (unsigned long)Base - (unsigned long)memBase;
#ifndef __NetBSD__
if (Offset >= (hae_thresh)) {
msb = Offset & hae_mask;
Offset -= msb;
@ -663,16 +686,20 @@ writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
msb_set = msb;
}
}
#endif
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
}
static void
writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
{
#ifndef __NetBSD__
register unsigned long msb;
#endif
register unsigned int w = Value & 0xffffU;
Offset += (unsigned long)Base - (unsigned long)memBase;
#ifndef __NetBSD__
if (Offset >= (hae_thresh)) {
msb = Offset & hae_mask ;
Offset -= msb;
@ -681,6 +708,7 @@ writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
msb_set = msb;
}
}
#endif
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
w * 0x00010001;
}

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c,v 1.8 2003/11/04 03:16:58 tsi Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c,v 1.9 2004/01/07 17:05:28 tsi Exp $ */
/*
* Copyright (c) 2002 by The XFree86 Project, Inc.
@ -497,7 +497,7 @@ OpenKeyboard(InputInfoPtr pInfo)
#endif
default:
xf86Msg(X_ERROR, "%s: Unsupported wskbd type \"%d\"",
pKbd->wsKbdType, pInfo->name);
pInfo->name, pKbd->wsKbdType);
close(pInfo->fd);
return FALSE;
}

View File

@ -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.28 2004/02/06 17:15:36 tsi Exp $ */
/*
* Copyright (c) 1999-2003 by The XFree86 Project, Inc.
@ -80,6 +80,16 @@ static const char *mouseDevs[] = {
DEFAULT_PS2_DEV,
NULL
};
#elif defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
/* Only wsmouse mices are autoconfigured for now on OpenBSD */
#define DEFAULT_WSMOUSE_DEV "/dev/wsmouse"
#define DEFAULT_WSMOUSE0_DEV "/dev/wsmouse0"
static const char *mouseDevs[] = {
DEFAULT_WSMOUSE_DEV,
DEFAULT_WSMOUSE0_DEV,
NULL
};
#endif
static int
@ -141,6 +151,8 @@ DefaultProtocol(void)
{
#if defined(__FreeBSD__)
return "Auto";
#elif defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
return "WSMouse";
#else
return NULL;
#endif
@ -195,7 +207,7 @@ SetupAuto(InputInfoPtr pInfo, int *protoPara)
protoPara[0] = mode.syncmask[0];
protoPara[1] = mode.syncmask[1];
}
xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n",
xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n",
pInfo->name, devproto[i].name);
return devproto[i].name;
}
@ -325,7 +337,50 @@ FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
}
#endif
#if defined(WSCONS_SUPPORT)
#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
/* Only support wsmouse configuration for now */
static const char *
SetupAuto(InputInfoPtr pInfo, int *protoPara)
{
xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n",
pInfo->name, "wsmouse");
return "wsmouse";
}
static void
SetMouseRes(InputInfoPtr pInfo, const char *protocol, int rate, int res)
{
xf86MsgVerb(X_INFO, 3, "%s: SetMouseRes: protocol %s rate %d res %d\n",
pInfo->name, protocol, rate, res);
}
static const char *
FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
{
int fd = -1;
const char **pdev;
for (pdev = mouseDevs; *pdev; pdev++) {
SYSCALL(fd = open(*pdev, O_RDWR | O_NONBLOCK));
if (fd != -1) {
/* Set the Device option. */
pInfo->conf_idev->commonOptions =
xf86AddNewOption(pInfo->conf_idev->commonOptions,
"Device", *pdev);
xf86Msg(X_INFO, "%s: found Device \"%s\"\n",
pInfo->name, *pdev);
close(fd);
break;
}
}
return *pdev;
}
#endif /* __OpenBSD__ && WSCONS_SUPPORT */
#ifdef WSCONS_SUPPORT
#define NUMEVENTS 64
static void
@ -718,7 +773,11 @@ xf86OSMouseInit(int flags)
p->SetBMRes = SetSysMouseRes;
p->SetMiscRes = SetSysMouseRes;
#endif
#if defined(__FreeBSD__)
#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
p->SetupAuto = SetupAuto;
p->SetMiscRes = SetMouseRes;
#endif
#if defined(__FreeBSD__) || defined(__OpenBSD__)
p->FindDevice = FindDevice;
#endif
p->PreInit = bsdMousePreInit;

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c,v 1.81 2003/09/24 02:43:34 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c,v 1.82 2004/01/16 15:39:04 tsi Exp $ */
/*
* Pci.c - New server PCI access functions
*
@ -1016,7 +1016,9 @@ xf86scanpci(int flags)
if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN))
break;
pciWriteByte(tag, PCI_PCI_BRIDGE_CONTROL_REG,
devp->pci_bridge_control & ~PCI_PCI_BRIDGE_MASTER_ABORT_EN);
devp->pci_bridge_control &
~(PCI_PCI_BRIDGE_MASTER_ABORT_EN |
PCI_PCI_BRIDGE_SECONDARY_RESET));
break;
default:
@ -1079,7 +1081,7 @@ xf86scanpci(int flags)
if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN))
break;
pciWriteByte(devp->tag, PCI_PCI_BRIDGE_CONTROL_REG,
devp->pci_bridge_control);
devp->pci_bridge_control & ~PCI_PCI_BRIDGE_SECONDARY_RESET);
break;
default:

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h,v 1.44 2003/11/07 23:57:47 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h,v 1.45 2004/02/02 03:55:31 dawes Exp $ */
/*
* Copyright 1998 by Concurrent Computer Corporation
*
@ -261,7 +261,7 @@
# define INCLUDE_XF86_NO_DOMAIN
# endif
# define XF86SCANPCI_WRAPPER ia64ScanPCIWrapper
#elif defined(__i386__)
#elif defined(__i386__) || defined(i386)
# define ARCH_PCI_INIT ix86PciInit
# define INCLUDE_XF86_MAP_PCI_MEM
# define INCLUDE_XF86_NO_DOMAIN

View File

@ -1,5 +1,4 @@
/* $XdotOrg: 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.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.
*
@ -98,9 +97,10 @@
#define LBA_PORT5_CNTRL 0x1228U
#define LBA_PORT6_CNTRL 0x1230U
#define LBA_PORT7_CNTRL 0x1238U
#define LBA_ROPE_RESET 0x01UL
#define LBA_CLEAR_ERROR 0x10UL
#define LBA_HARD_FAIL 0x40UL
#define LBA_RESET_FUNCTION 0x0000000001UL
#define LBA_CLEAR_ERROR 0x0000000010UL
#define LBA_HARD_FAIL 0x0000000040UL
#define LBA_RESET_COMPLETE 0x0100000000UL
#define ROPE_PAGE_CONTROL 0x1418U
@ -118,8 +118,11 @@
#define IOA_SUBORDINATE_BUS 0x0059U
#define IOA_CONTROL 0x0108U
#define IOA_FORWARD_VGA 0x08UL
#define IOA_HARD_FAIL 0x40UL
#define IOA_RESET_FUNCTION 0x0000000001UL
#define IOA_FORWARD_VGA 0x0000000008UL
#define IOA_CLEAR_ERROR 0x0000000010UL
#define IOA_HARD_FAIL 0x0000000040UL
#define IOA_RESET_COMPLETE 0x0100000000UL
#define IOA_LMMIO_BASE 0x0200U
#define IOA_LMMIO_MASK 0x0208U
@ -135,12 +138,33 @@
#define IOA_ELMMIO_MASK 0x0258U
#define IOA_EIOS_BASE 0x0260U
#define IOA_EIOS_MASK 0x0268U
#define IOA_GLOBAL_MASK 0x0270U
#define IOA_SLAVE_CONTROL 0x0278U
#define IOA_VGA_PEER_ENABLE 0x2000UL
#define IOA_MSI_BASE 0x0280U
#define IOA_MSI_MASK 0x0288U
#define IOA_DMA_BASE 0x02B0U
#define IOA_DMA_MASK 0x02B8U
#define IOA_ERROR_CONFIG 0x0680U
#define IOA_ERROR_PIOWRITE 0x0001UL
#define IOA_ERROR_PIOREAD 0x0002UL
#define IOA_ERROR_DMAWRITE 0x0004UL
#define IOA_ERROR_DMAREAD 0x0008UL
#define IOA_ERROR_CONFIG_MASTER 0x0010UL
#define IOA_ERROR_SMART 0x0020UL
#define IOA_ERROR_FATAL_SERR 0x0040UL
#define IOA_ERROR_ASSERT_SERR 0x0080UL
/* ? 0x0100UL */
#define IOA_ERROR_LOOPBACK 0x0200UL
#define IOA_ERROR_CONFIG_TARGET 0x0400UL
#define IOA_ERROR_IO_MASTER 0x0800UL
#define IOA_ERROR_IO_TARGET 0x1000UL
#define IOA_ERROR_MEM_MASTER 0x2000UL
#define IOA_ERROR_MEM_TARGET 0x4000UL
#define IOA_ERROR_HF_IO_FATAL 0x8000UL
#define RANGE_ENABLE 0x01UL /* In various base registers */
#define IO_MASK ((1UL << 16) - 1UL)
@ -157,10 +181,15 @@
static CARD8 *pZX1mio = NULL,
*pZX1ioa = NULL;
static INT8 zx1_ropemap[8]; /* One for each (potential) rope */
static CARD64 zx1_lbacntl[8]; /* " " " " " */
/* Per-rope data */
static INT8 zx1_ropemap[8];
static CARD32 zx1_pciids[8];
static CARD64 zx1_lbacntl[8];
static int zx1_busno[8], zx1_subno[8];
/* Array of Booleans for non-empty buses */
static INT8 zx1_busnmpt[MAX_PCI_BUSES];
static pciBusFuncs_t zx1BusFuncs;
static int zx1_fakebus = -1;
static Bool zx1_hasvga = FALSE;
@ -293,7 +322,8 @@ ControlZX1Bridge(int bus, CARD16 mask, CARD16 value)
* SLAVE_CONTROL register.
*/
tmp1 = MIO_QUAD(VGA_ROUTE);
tmp2 = IOA_QUAD(ropenum, IOA_CONTROL);
tmp2 = IOA_QUAD(ropenum, IOA_CONTROL) &
~(IOA_RESET_FUNCTION | IOA_CLEAR_ERROR);
if ((tmp1 & VGA_ENABLE) && ((tmp1 & 0x07UL) == ropenum)) {
current |= PCI_PCI_BRIDGE_VGA_EN;
if ((mask & PCI_PCI_BRIDGE_VGA_EN) &&
@ -316,8 +346,9 @@ ControlZX1Bridge(int bus, CARD16 mask, CARD16 value)
MIO_QUAD(VGA_ROUTE) = 0UL;
tmp3 = IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL);
if (tmp3 & IOA_FORWARD_VGA)
IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL) =
tmp3 & ~IOA_FORWARD_VGA;
IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL) = tmp3 &
~(IOA_RESET_FUNCTION | IOA_FORWARD_VGA |
IOA_CLEAR_ERROR);
}
if (!(tmp2 & IOA_FORWARD_VGA)) {
tmp2 |= IOA_FORWARD_VGA;
@ -330,7 +361,7 @@ ControlZX1Bridge(int bus, CARD16 mask, CARD16 value)
/* Move on to master abort failure enablement */
tmp1 = MIO_QUAD((ropenum << 3) + LBA_PORT0_CNTRL) &
~(LBA_ROPE_RESET | LBA_CLEAR_ERROR);
~(LBA_RESET_FUNCTION | LBA_CLEAR_ERROR);
if ((tmp1 & LBA_HARD_FAIL) || (tmp2 & IOA_HARD_FAIL)) {
current |= PCI_PCI_BRIDGE_MASTER_ABORT_EN;
if ((mask & PCI_PCI_BRIDGE_MASTER_ABORT_EN) &&
@ -521,14 +552,14 @@ xf86PreScanZX1(void)
/* Prevent hard-fails */
zx1_lbacntl[i] = MIO_QUAD((i << 3) + LBA_PORT0_CNTRL) &
~(LBA_ROPE_RESET | LBA_CLEAR_ERROR);
~(LBA_RESET_FUNCTION | LBA_CLEAR_ERROR);
if (zx1_lbacntl[i] & LBA_HARD_FAIL)
MIO_QUAD((i << 3) + LBA_PORT0_CNTRL) =
zx1_lbacntl[i] & ~LBA_HARD_FAIL;
/* Poke for an ioa */
tmp = IOA_LONG(i, PCI_ID_REG);
switch ((CARD32)tmp) {
zx1_pciids[i] = IOA_LONG(i, PCI_ID_REG);
switch (zx1_pciids[i]) {
case DEVID(VENDOR_HP, CHIP_ELROY):
case DEVID(VENDOR_HP, CHIP_ZX1_LBA): /* Mercury */
case DEVID(VENDOR_HP, CHIP_ZX1_AGP8): /* QuickSilver */
@ -540,10 +571,10 @@ xf86PreScanZX1(void)
break;
default:
if ((CARD16)(tmp + 1U) > (CARD16)1U)
if ((CARD16)(zx1_pciids[i] + 1U) > (CARD16)1U)
xf86MsgVerb(X_NOTICE, 0,
"HP ZX1: Unexpected vendor/device id 0x%08X"
" on rope %d\n", (CARD32)tmp, i);
" on rope %d\n", zx1_pciids[i], i);
/* Nobody home, or not the "right" kind of rope guest */
/*
@ -907,6 +938,9 @@ xf86PostScanZX1(void)
if (!pZX1mio)
return;
(void)memset(zx1_busnmpt, FALSE, sizeof(zx1_busnmpt));
pBusInfo = pciBusInfo[0];
/*
* Certain 2.4 & 2.5 Linux kernels add fake PCI devices. Remove them to
* prevent any possible interference with our PCI validation.
@ -930,6 +964,8 @@ xf86PostScanZX1(void)
*ppPCI++ = pPCI;
idx++;
zx1_busnmpt[pPCI->busnum] = TRUE;
if (zx1_hasvga)
continue;
@ -954,8 +990,8 @@ xf86PostScanZX1(void)
}
/*
* Restore hard-fail settings and figure out the actual subordinate bus
* numbers.
* Restore hard-fail settings and figure out the actual secondary and
* subordinate bus numbers.
*/
for (i = 0; i < 8; i++) {
if (zx1_ropemap[i] != i)
@ -969,6 +1005,14 @@ xf86PostScanZX1(void)
if (zx1_fakebus <= zx1_subno[i])
zx1_fakebus = zx1_subno[i] + 1;
while (!zx1_busnmpt[zx1_busno[i]]) {
if (zx1_busno[i]) /* Info for bus zero is in static storage */
xfree(pciBusInfo[zx1_busno[i]]);
pciBusInfo[zx1_busno[i]++] = NULL;
if (zx1_busno[i] > zx1_subno[i])
break;
}
}
if (zx1_fakebus >= pciNumBuses) {
@ -978,13 +1022,13 @@ xf86PostScanZX1(void)
}
/* Set up our extra bus functions */
zx1BusFuncs = *(pciBusInfo[0]->funcs);
zx1BusFuncs = *(pBusInfo->funcs);
zx1BusFuncs.pciControlBridge = ControlZX1Bridge;
zx1BusFuncs.pciGetBridgeResources = GetZX1BridgeResources;
/* Set up our own fake bus to act as the root segment */
zx1FakeBus.configMech = pciBusInfo[0]->configMech;
zx1FakeBus.numDevices = pciBusInfo[0]->numDevices;
zx1FakeBus.configMech = pBusInfo->configMech;
zx1FakeBus.numDevices = pBusInfo->numDevices;
zx1FakeBus.primary_bus = zx1_fakebus;
pciBusInfo[zx1_fakebus] = &zx1FakeBus;
@ -1019,7 +1063,8 @@ xf86PostScanZX1(void)
/* Add a fake PCI-to-PCI bridge to represent each active rope */
for (i = 0; i < 8; i++) {
if ((zx1_ropemap[i] != i) || !(pBusInfo = pciBusInfo[zx1_busno[i]]))
if ((zx1_ropemap[i] != i) || (zx1_busno[i] > zx1_subno[i]) ||
!(pBusInfo = pciBusInfo[zx1_busno[i]]))
continue;
if (++idx >= MAX_PCI_DEVICES)
@ -1029,7 +1074,7 @@ xf86PostScanZX1(void)
pPCI->devnum = i | 0x10;
/* pPCI->funcnum = 0; */
pPCI->tag = PCI_MAKE_TAG(zx1_fakebus, pPCI->devnum, 0);
pPCI->pci_device_vendor = DEVID(VENDOR_HP, CHIP_ZX1_LBA);
pPCI->pci_device_vendor = zx1_pciids[i];
pPCI->pci_base_class = PCI_CLASS_BRIDGE;
pPCI->pci_sub_class = PCI_SUBCLASS_BRIDGE_PCI;
pPCI->pci_header_type = 1;
@ -1045,6 +1090,9 @@ xf86PostScanZX1(void)
/* Plug in chipset routines */
pBusInfo->funcs = &zx1BusFuncs;
/* Set bridge control register for scanpci utility */
pPCI->pci_bridge_control = ControlZX1Bridge(zx1_busno[i], 0, 0);
#ifdef OLD_FORMAT
xf86MsgVerb(X_INFO, 2, "PCI: BusID 0x%.2x,0x%02x,0x%1x "
"ID 0x%04x,0x%04x Rev 0x%02x Class 0x%02x,0x%02x\n",

View File

@ -1,7 +1,7 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c,v 1.31 2003/09/24 02:43:35 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c,v 1.32 2004/02/05 18:24:59 eich Exp $ */
/*
* linux specific part of the int10 module
* Copyright 1999 Egbert Eich
* Copyright 1999, 2000, 2001, 2002, 2003, 2004 Egbert Eich
*/
#include "xf86.h"
#include "xf86_OSproc.h"
@ -212,7 +212,9 @@ xf86ExtendedInitInt10(int entityIndex, int Flags)
} else
((linuxInt10Priv*)pInt->private)->base_high = NULL;
MapCurrentInt10(pInt);
if (!MapCurrentInt10(pInt))
goto error3;
Int10Current = pInt;
#ifdef DEBUG

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnxResource.c,v 3.18 2002/01/25 21:56:19 tsi Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnxResource.c,v 3.19 2004/02/04 16:30:50 tsi Exp $ */
/* Resource information code */
@ -190,7 +190,8 @@ xf86AccResFromOS(resPtr ret)
defined(__s390__) || \
defined(__hppa__)
/* XXX this isn't exactly correct but it will get the server working
/*
* XXX this isn't exactly correct but it will get the server working
* for now until we get something better.
*/
@ -203,7 +204,7 @@ xf86BusAccWindowsFromOS(void)
RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock);
ret = xf86AddResToList(ret, &range, -1);
#ifdef __sparc__
#if defined(__sparc__) || defined(__powerpc__)
RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock);
#else
RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock);
@ -221,7 +222,7 @@ xf86PciBusAccWindowsFromOS(void)
RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock);
ret = xf86AddResToList(ret, &range, -1);
#ifdef __sparc__
#if defined(__sparc__) || defined(__powerpc__)
RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock);
#else
RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock);
@ -230,7 +231,7 @@ xf86PciBusAccWindowsFromOS(void)
return ret;
}
#ifdef INCLUDE_UNUSED */
#ifdef INCLUDE_UNUSED
resPtr
xf86IsaBusAccWindowsFromOS(void)
@ -241,7 +242,7 @@ xf86IsaBusAccWindowsFromOS(void)
RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock);
ret = xf86AddResToList(ret, &range, -1);
#ifdef __sparc__
#if defined(__sparc__) || defined(__powerpc__)
RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock);
#else
RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock);
@ -267,7 +268,7 @@ xf86AccResFromOS(resPtr ret)
ret = xf86AddResToList(ret, &range, -1);
RANGE(range, 0x00000000, 0x00000000, ResExcIoBlock);
ret = xf86AddResToList(ret, &range, -1);
#ifdef __sparc__
#if defined(__sparc__) || defined(__powerpc__)
RANGE(range, 0x00ffffff, 0x00ffffff, ResExcIoBlock);
#else
RANGE(range, 0x0000ffff, 0x0000ffff, ResExcIoBlock);

View File

@ -4,7 +4,7 @@
for Alpha Linux
*******************************************************************************/
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/misc/SlowBcopy.c,v 1.6 2003/04/07 16:23:39 eich Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/misc/SlowBcopy.c,v 1.7 2004/02/11 22:06:21 tsi Exp $ */
/*
* Create a dependency that should be immune from the effect of register
@ -26,13 +26,13 @@
void
xf86SlowBcopy(unsigned char *src, unsigned char *dst, int len)
{
#if defined(__ia64__)
outb(0x80, 0x00);
#endif
while(len--)
{
*dst++ = *src++;
#if !defined(__sparc__) && !defined(__powerpc__) && !defined(__mips__)
#if !defined(__sparc__) && \
!defined(__powerpc__) && \
!defined(__mips__) && \
!defined(__ia64__)
outb(0x80, 0x00);
#endif
}

View File

@ -7,7 +7,7 @@
# so if you have anything to contribute, please visit the home page or
# send a diff -u against the most recent pci.ids to pci-ids@ucw.cz.
#
# Daily snapshot on Thu 2003-12-18 11:00:05
# Daily snapshot on Sun 2004-02-15 11:00:07
#
# Vendors, devices and subsystems. Please keep sorted.
@ -24,6 +24,12 @@
# Real TJN ID is e159, but they got it wrong several times --mj
0059 Tiger Jet Network Inc. (Wrong ID)
0070 Hauppauge computer works Inc.
# WinTV Personal Video Recorder 350 (video capture card)
4000 WinTV PVR-350
# WinTV Personal Video Recorder 250 (video capture card) - original release
4001 WinTV PVR-250 (v1)
# WinTV Personal Video Recorder 250 (video capture card)
4009 WinTV PVR-250
0100 Ncipher Corp Ltd
0675 Dynalink
1700 IS64PH ISDN Adapter
@ -168,11 +174,36 @@
1002 ATI Technologies Inc
4136 Radeon IGP 320 M
4144 Radeon R300 AD [Radeon 9500 Pro]
4145 Radeon R300 AE [Radeon 9500 Pro]
4146 Radeon R300 AF [Radeon 9500 Pro]
# New PCI ID provided by ATI developer relations (correction to above)
4145 R300 AE [Radeon 9700 Pro]
# New PCI ID provided by ATI developer relations (oops, correction to above)
4146 R300 AF [Radeon 9700 Pro]
4147 Radeon R300 AG [FireGL Z1/X1]
# Updated 2 letter ASIC code I initially missed in above entry submission
4148 Radeon R350 AH [Radeon 9800]
# New PCI ID provided by ATI developer relations
4149 Radeon R350 AI [Radeon 9800]
# New PCI ID provided by ATI developer relations
4150 RV350 AP [Radeon 9600]
# New PCI ID provided by ATI developer relations
4151 RV350 AQ [Radeon 9600]
# New PCI ID provided by ATI developer relations
4152 RV350 AR [Radeon 9600]
4158 68800AX [Mach32]
4164 Radeon R300 Secondary (DVI) output
# The PCI ID is unrelated to any DVI output.
4164 R300 AD [Radeon 9500 Pro] (Secondary)
# New PCI ID info provided by ATI developer relations
4165 R300 AE [Radeon 9700 Pro] (Secondary)
# New PCI ID info provided by ATI developer relations
4166 R300 AF [Radeon 9700 Pro] (Secondary)
# New PCI ID provided by ATI developer relations
4168 Radeon R350 [Radeon 9800] (Secondary)
# New PCI ID provided by ATI developer relations (correction to above)
4170 RV350 AP [Radeon 9600] (Secondary)
# New PCI ID provided by ATI developer relations (correction to above)
4171 RV350 AQ [Radeon 9600] (Secondary)
# New PCI ID provided by ATI developer relations (correction to above)
4172 RV350 AR [Radeon 9600] (Secondary)
4242 Radeon R200 BB [Radeon All in Wonder 8500DV]
1002 02aa Radeon 8500 AIW DV Edition
4336 Radeon Mobility U1
@ -246,20 +277,20 @@
475a 3D Rage IIC AGP
1002 0087 Rage 3D IIC
1002 475a Rage IIC AGP
4964 Radeon R250 Id [Radeon 9000]
4965 Radeon R250 Ie [Radeon 9000]
4966 Radeon R250 If [Radeon 9000]
10f1 0002 R250 If [Tachyon G9000 PRO]
148c 2039 R250 If [Radeon 9000 Pro "Evil Commando"]
1509 9a00 R250 If [Radeon 9000 "AT009"]
# New subdevice - 3D Prophet 9000 PCI by Hercules. AGP version probably would have same ID, so not specified.
1681 0040 R250 If [3D prophet 9000]
174b 7176 R250 If [Sapphire Radeon 9000 Pro]
174b 7192 R250 If [Radeon 9000 "Atlantis"]
17af 2005 R250 If [Excalibur Radeon 9000 Pro]
17af 2006 R250 If [Excalibur Radeon 9000]
4967 Radeon R250 Ig [Radeon 9000]
496e Radeon R250 [Radeon 9000] (Secondary)
4964 Radeon RV250 Id [Radeon 9000]
4965 Radeon RV250 Ie [Radeon 9000]
4966 Radeon RV250 If [Radeon 9000]
10f1 0002 RV250 If [Tachyon G9000 PRO]
148c 2039 RV250 If [Radeon 9000 Pro "Evil Commando"]
1509 9a00 RV250 If [Radeon 9000 "AT009"]
# New subdevice - 3D Prophet 9000 PCI by Hercules. AGP version probably would have same ID, so not specified.
1681 0040 RV250 If [3D prophet 9000]
174b 7176 RV250 If [Sapphire Radeon 9000 Pro]
174b 7192 RV250 If [Radeon 9000 "Atlantis"]
17af 2005 RV250 If [Excalibur Radeon 9000 Pro]
17af 2006 RV250 If [Excalibur Radeon 9000]
4967 Radeon RV250 Ig [Radeon 9000]
496e Radeon RV250 [Radeon 9000] (Secondary)
4c42 3D Rage LT Pro AGP-133
0e11 b0e8 Rage 3D LT Pro
0e11 b10e 3D Rage LT Pro (Compaq Armada 1750)
@ -312,15 +343,25 @@
4e44 Radeon R300 ND [Radeon 9700 Pro]
4e45 Radeon R300 NE [Radeon 9500 Pro]
1002 0002 Radeon R300 NE [Radeon 9500 Pro]
4e46 Radeon R300 NF [Radeon 9700]
# New PCI ID provided by ATI developer relations (correction to above)
4e46 RV350 NF [Radeon 9600]
4e47 Radeon R300 NG [FireGL X1]
4e48 Radeon R350 [Radeon 9800]
# New PCI ID provided by ATI developer relations
4e49 Radeon R350 [Radeon 9800]
# New PCI ID provided by ATI developer relations
4e50 RV350 [Mobility Radeon 9600 M10]
# New PCI ID provided by ATI developer relations
4e52 RV350 [Mobility Radeon 9600 M10]
4e64 Radeon R300 [Radeon 9700 Pro] (Secondary)
4e65 Radeon R300 [Radeon 9500 Pro] (Secondary)
1002 0003 Radeon R300 NE [Radeon 9500 Pro]
4e66 Radeon R300 [Radeon 9700] (Secondary)
# New PCI ID provided by ATI developer relations (correction to above)
4e66 RV350 NF [Radeon 9600] (Secondary)
4e67 Radeon R300 [FireGL X1] (Secondary)
4e68 Radeon R350 [Radeon 9800] (Secondary)
# New PCI ID provided by ATI developer relations
4e69 Radeon R350 [Radeon 9800] (Secondary)
5041 Rage 128 PA/PRO
5042 Rage 128 PB/PRO AGP 2x
5043 Rage 128 PC/PRO AGP 4x
@ -3413,7 +3454,8 @@
11bd 0006 DV500 Overlay
11bd 000a DV500 Overlay
1132 Mitel Corp.
1133 Eicon Technology Corporation
# This is the new official company name. See disclaimer on www.eicon.com for details!
1133 Eicon Networks Corporation
7901 EiconCard S90
7902 EiconCard S90
7911 EiconCard S91
@ -6238,9 +6280,14 @@
16be Creatix Polymedia GmbH
16ca CENATEK Inc
0001 Rocket Drive DL
16cd Densitron Technologies
# www.pikatechnologies.com
16df PIKA Technologies Inc.
16ec U.S. Robotics
3685 Wireless Access PCI Adapter Model 022415
16f6 VideoTele.com, Inc.
# www.internetmachines.com
1702 Internet Machines Corporation (IMC)
1705 Digital First, Inc.
170b NetOctave Inc
170c YottaYotta Inc.
@ -6279,6 +6326,9 @@
0601 VSM2 dual PMC carrier
0710 VS14x series PowerPC PCI board
0720 VS24x series PowerPC PCI board
# found e.g. on KNC DVB-S card
1894 KNC One
18fb Resilience Corporation
1a08 Sierra semiconductor
0000 SC15064
1b13 Jaton Corp
@ -6372,6 +6422,7 @@
4033 Addtron Technology Co, Inc.
1360 RTL8139 Ethernet
4143 Digital Equipment Corp
4144 Alpha Data
416c Aladdin Knowledge Systems
0100 AladdinCARD
0200 CPC
@ -6569,6 +6620,7 @@
0003 TURBOstor HFP-832 [HiPPI NIC]
5654 VoiceTronix Pty Ltd
5700 Netpower
5851 Exacq Technologies
6356 UltraStor
6374 c't Magazin für Computertechnik
6773 GPPCI
@ -6587,6 +6639,10 @@
0008 Extended Express System Support Controller
0039 21145
0122 82437FX
0326 PCI Bridge Hub I/OxAPIC Interrupt Controller A
0327 PCI Bridge Hub I/OxAPIC Interrupt Controller B
0329 PCI Bridge Hub A
032a PCI Bridge Hub B
0482 82375EB
0483 82424ZX [Saturn]
0484 82378IB [SIO ISA Bridge]
@ -6639,7 +6695,18 @@
8086 1002 PRO/1000 MF Server Adapter
1012 82546EB Gigabit Ethernet Controller (Fiber)
8086 1012 PRO/1000 MF Dual Port Server Adapter
1013 82541EI Gigabit Ethernet Controller (Copper)
1014 82541ER Gigabit Ethernet Controller
1015 82540EM Gigabit Ethernet Controller (LOM)
1016 82540EP Gigabit Ethernet Controller (LOM)
1017 82540EP Gigabit Ethernet Controller (LOM)
# Update controller name from 82541EP to 82541EI
1018 82541EI Gigabit Ethernet Controller
1019 82547EI Gigabit Ethernet Controller (LOM)
101e 82540EP Gigabit Ethernet Controller (Mobile)
1026 82545GM Gigabit Ethernet Controller
1027 82545GM Gigabit Ethernet Controller
1028 82545GM Gigabit Ethernet Controller
1029 82559 Ethernet Controller
1030 82559 InBusiness 10/100
1031 82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller
@ -6667,7 +6734,21 @@
1040 536EP Data Fax Modem
16be 1040 V.9X DSP Data Fax Modem
1043 PRO/Wireless LAN 2100 3B Mini PCI Adapter
1048 Intel(R) PRO/10GbE LR Server Adapter
1059 82551QM Ethernet Controller
# Updated controller name from 82547EI to 82547GI
1075 82547GI Gigabit Ethernet Controller
# Updated controller name from 82541EI to 82541GI
1076 82541GI Gigabit Ethernet Controller
# Update controller name from 82541EI to 82541GI
1077 82541GI Gigabit Ethernet Controller
1078 82541EI Gigabit Ethernet Controller
# Update from mistaken ID of 82546EB
1079 82546GB Gigabit Ethernet Controller
# Update from mistaken ID of 82546EB
107a 82546GB Gigabit Ethernet Controller
# Update from mistaken ID of 82546EB
107b 82546GB Gigabit Ethernet Controller
1130 82815 815 Chipset Host Bridge and Memory Controller Hub
1025 1016 Travelmate 612 TX
1043 8027 TUSL2-C Mainboard
@ -7069,6 +7150,7 @@
24dc 82801EB LPC Interface Controller
24dd 82801EB USB2
24de 82801EB USB
24df 82801EB (ICH5R) SATA (cc=RAID)
2500 82820 820 (Camino) Chipset Host Bridge (MCH)
1028 0095 Precision Workstation 220 Chipset
1043 801c P3C-2000 system chipset
@ -7109,12 +7191,26 @@
2571 82865G/PE/P Processor to AGP Controller
2572 82865G Integrated Graphics Device
2573 82865G/PE/P Processor to PCI to CSA Bridge
2576 82864G/PE/P Processor to I/O Memory Interface
2576 82865G/PE/P Processor to I/O Memory Interface
2578 82875P Memory Controller Hub
2579 82875P Processor to AGP Controller
257b 82875P Processor to PCI to CSA Bridge
257e 82875P Processor to I/O Memory Interface
25a1 Enterprise Southbridge ISA Bridge
25a2 Enterprise Southbridge PATA
25a3 Enterprise Southbridge SATA cc=IDE
25a4 Enterprise Southbridge SMBUS
25a6 Enterprise Southbridge AC'97 Audio
25a7 Enterprise Southbridge AC'97 Modem
25a9 Enterprise Southbridge USB 1.1 UHCI
25aa Enterprise Southbridge USB 1.1 UHCI
25ab Enterprise Southbridge Watchdog Timer
25ac Enterprise Southbridge IOxAPIC
25ad Enterprise Southbridge USB 2.0 EHCI
25ae Enterprise Southbridge Hublink PCI-X Bridge
25b0 Enterprise Southbridge SATA cc=RAID
3092 Integrated RAID
3200 GD31244 PCI-X SATA HBA
3340 82855PM Processor to I/O Controller
3341 82855PM Processor to AGP Controller
3575 82830 830 Chipset Host Bridge
@ -7126,6 +7222,18 @@
3578 82830 830 Chipset Host Bridge
3580 82852/855GM Host Bridge
3582 82852/855GM Integrated Graphics Device
3590 Server Memory Controller Hub
3591 Memory Controller Hub Error Reporting Register
3592 Server Memory Controller Hub
3594 Memory Controller Hub DMA Controller
3595 Memory Controller Hub PCI Express Port A0
3596 Memory Controller Hub PCI Express Port A1
3597 Memory Controller Hub PCI Express Port B0
3598 Memory Controller Hub PCI Express Port B1
3599 Memory Controller Hub PCI Express Port C0
359a Memory Controller Hub PCI Express Port C1
359b Memory Controller Hub Extended Configuration Registers
359e Workstation Memory Controller Hub
5200 EtherExpress PRO/100 Intelligent Server
5201 EtherExpress PRO/100 Intelligent Server
8086 0001 EtherExpress PRO/100 Server Ethernet Adapter
@ -7431,12 +7539,15 @@ d84d Exsys
dead Indigita Corporation
e000 Winbond
e000 W89C940
e159 Tiger Jet Network Inc.
# see : http://www.schoenfeld.de/inside/Inside_CWMK3.txt
e159 Individual Computers - Jens Schoenfeld
0001 Intel 537
0059 0001 128k ISDN-S/T Adapter
0059 0003 128k ISDN-U Adapter
0002 Tiger100APC ISDN chipset
e4bf EKF Elektronik GmbH
# Innovative and scalable network IC vendor
e55e Essence Technology, Inc.
ea01 Eagle Technology
# The main chip of all these devices is by Xilinx -> It could also be a Xilinx ID.
ea60 RME
@ -7481,6 +7592,8 @@ febd Ultraview Corp.
feda Broadcom Inc (nee Epigram)
a0fa BCM4210 iLine10 HomePNA 2.0
a10e BCM4230 iLine10 HomePNA 2.0
# IT & Telecom company, develops PCI Trunk cards <www.fedetec.es>
fede Fedetec Inc.
fffe VMWare Inc
0710 Virtual SVGA
ffff Illegal Vendor ID

View File

@ -1,6 +1,6 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/ioport.c,v 1.4 2003/01/01 19:16:41 tsi Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/ioport.c,v 1.5 2004/01/05 16:42:10 tsi Exp $ */
/*
* Copyright 2002 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
* Copyright 2002 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that

View File

@ -26,8 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
* $XdotOrg: 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.18 2003/12/19 02:05:38 dawes Exp $
* $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/config.h,v 1.22 2004/02/14 17:53:49 dawes Exp $
*/
#include <X11/IntrinsicP.h>
@ -38,10 +37,12 @@
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
#include <unistd.h>
#if defined(sun) && defined(SVR4)
#ifdef sun
#undef index
#undef rindex
#include <strings.h>
#endif
#include <unistd.h>
#include <stdarg.h>

View File

@ -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.5 2004/02/02 03:55:32 dawes Exp $ */
/*
* XFree86 vbe module
@ -60,7 +60,8 @@ typedef struct vbeControllerInfoBlock {
CARD8 OemData[256];
} vbeControllerInfoRec, *vbeControllerInfoPtr;
#ifdef __GNUC__
#if defined(__GNUC__) || defined(SCO) || defined(__USLC__) || \
defined(__SUNPRO_C)
#pragma pack() /* All GCC versions recognise this syntax */
#else
#pragma pack(0)

View File

@ -1,4 +1,4 @@
/* $XFree86: xc/programs/Xserver/hw/xfree86/vgahw/vgaHW.c,v 1.58 2003/11/03 05:11:53 tsi Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/vgahw/vgaHW.c,v 1.59 2004/02/11 22:06:22 tsi Exp $ */
/*
*
@ -764,6 +764,11 @@ vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore)
#if 0
hwp->writeAttr(hwp, 0x10, 0x01); /* graphics mode */
#endif
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
if (scrninfp->depth == 4) {
/* GJA */
hwp->writeGr(hwp, 0x03, 0x00); /* don't rotate, write unmodified */
@ -774,10 +779,7 @@ vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore)
#ifdef SAVE_FONT1
if (hwp->FontInfo1) {
hwp->writeSeq(hwp, 0x02, 0x04); /* write to plane 2 */
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x02); /* read plane 2 */
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_tobus(hwp->FontInfo1, hwp->Base, FONT_AMOUNT);
}
#endif
@ -785,10 +787,7 @@ vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore)
#ifdef SAVE_FONT2
if (hwp->FontInfo2) {
hwp->writeSeq(hwp, 0x02, 0x08); /* write to plane 3 */
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x03); /* read plane 3 */
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_tobus(hwp->FontInfo2, hwp->Base, FONT_AMOUNT);
}
#endif
@ -796,16 +795,10 @@ vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore)
#ifdef SAVE_TEXT
if (hwp->TextInfo) {
hwp->writeSeq(hwp, 0x02, 0x01); /* write to plane 0 */
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x00); /* read plane 0 */
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_tobus(hwp->TextInfo, hwp->Base, TEXT_AMOUNT);
hwp->writeSeq(hwp, 0x02, 0x02); /* write to plane 1 */
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x01); /* read plane 1 */
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_tobus((unsigned char *)hwp->TextInfo + TEXT_AMOUNT,
hwp->Base, TEXT_AMOUNT);
}
@ -849,8 +842,7 @@ vgaHWRestoreMode(ScrnInfoPtr scrninfp, vgaRegPtr restore)
for (i = 1; i < restore->numSequencer; i++)
hwp->writeSeq(hwp, i, restore->Sequencer[i]);
/* Ensure CRTC registers 0-7 are unlocked by clearing bit 7 or CRTC[17] */
/* Ensure CRTC registers 0-7 are unlocked by clearing bit 7 of CRTC[17] */
hwp->writeCrtc(hwp, 17, restore->CRTC[17] & ~0x80);
for (i = 0; i < restore->numCRTC; i++)
@ -958,39 +950,32 @@ vgaHWSaveFonts(ScrnInfoPtr scrninfp, vgaRegPtr save)
#if 0
hwp->writeAttr(hwp, 0x10, 0x01); /* graphics mode */
#endif
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
#ifdef SAVE_FONT1
if (hwp->FontInfo1 || (hwp->FontInfo1 = xalloc(FONT_AMOUNT))) {
hwp->writeSeq(hwp, 0x02, 0x04); /* write to plane 2 */
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x02); /* read plane 2 */
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_frombus(hwp->Base, hwp->FontInfo1, FONT_AMOUNT);
}
#endif /* SAVE_FONT1 */
#ifdef SAVE_FONT2
if (hwp->FontInfo2 || (hwp->FontInfo2 = xalloc(FONT_AMOUNT))) {
hwp->writeSeq(hwp, 0x02, 0x08); /* write to plane 3 */
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x03); /* read plane 3 */
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_frombus(hwp->Base, hwp->FontInfo2, FONT_AMOUNT);
}
#endif /* SAVE_FONT2 */
#ifdef SAVE_TEXT
if (hwp->TextInfo || (hwp->TextInfo = xalloc(2 * TEXT_AMOUNT))) {
hwp->writeSeq(hwp, 0x02, 0x01); /* write to plane 0 */
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x00); /* read plane 0 */
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_frombus(hwp->Base, hwp->TextInfo, TEXT_AMOUNT);
hwp->writeSeq(hwp, 0x02, 0x02); /* write to plane 1 */
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x01); /* read plane 1 */
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_frombus(hwp->Base,
(unsigned char *)hwp->TextInfo + TEXT_AMOUNT, TEXT_AMOUNT);
}
@ -1476,7 +1461,7 @@ vgaHWVBlankKGA(DisplayModePtr mode, vgaRegPtr regp, int nBits,
regp->CRTC[22] = i & 0xFF;
ExtBits = i & 0xFF00;
}
return ExtBits >> 8;
return ExtBits >> 8;
}
/*

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/xaa/xaaOverlay.c,v 1.1.4.3 2004/02/25 21:46:55 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaOverlay.c,v 1.15 2003/11/10 18:22:41 tsi Exp $ */
#include "misc.h"
@ -18,8 +18,8 @@
#include "mioverlay.h"
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
static void
@ -168,11 +168,11 @@ XAAPaintWindow8_32(
yorg = pBgWin->drawable.y;
#ifdef XINERAMA
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
int index = pScreen->myNum;
if(WindowTable[index] == pBgWin) {
xorg -= xineramaDataPtr[index].x;
yorg -= xineramaDataPtr[index].y;
xorg -= panoramiXdataPtr[index].x;
yorg -= panoramiXdataPtr[index].y;
}
}
#endif

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/xaa/xaaPaintWin.c,v 1.1.4.2 2004/02/25 21:46:56 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaPaintWin.c,v 1.11 2003/02/17 16:08:29 dawes Exp $ */
#include "misc.h"
@ -17,8 +17,8 @@
#include "xaawrap.h"
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
void
@ -93,11 +93,11 @@ XAAPaintWindow(
yorg = pBgWin->drawable.y;
#ifdef XINERAMA
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
int index = pScreen->myNum;
if(WindowTable[index] == pBgWin) {
xorg -= xineramaDataPtr[index].x;
yorg -= xineramaDataPtr[index].y;
xorg -= panoramiXdataPtr[index].x;
yorg -= panoramiXdataPtr[index].y;
}
}
#endif

View File

@ -1,5 +1,5 @@
/*
* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaPict.c,v 1.18 2003/04/23 18:35:34 eich Exp $
* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaPict.c,v 1.19 2004/01/26 18:54:55 mvojkovi Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@ -219,6 +219,9 @@ XAADoComposite (
ySrc += pSrc->pDrawable->y;
if(pMask) {
if(pMask->componentAlpha)
return FALSE;
/* for now we only do it if there is a 1x1 (solid) source */
if((pSrc->pDrawable->width == 1) && (pSrc->pDrawable->height == 1)) {

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/xf8_32bpp/cfbpntwin.c,v 1.1.4.2 2004/02/25 21:46:57 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/xf8_32bpp/cfbpntwin.c,v 1.5 2001/10/01 13:44:15 eich Exp $ */
#include "X.h"
@ -16,8 +16,8 @@
#include "mi.h"
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
void
@ -45,11 +45,11 @@ cfb8_32PaintWindow(
xorg = pWin->drawable.x;
yorg = pWin->drawable.y;
#ifdef XINERAMA
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
int index = pWin->drawable.pScreen->myNum;
if(WindowTable[index] == pWin) {
xorg -= xineramaDataPtr[index].x;
yorg -= xineramaDataPtr[index].y;
xorg -= panoramiXdataPtr[index].x;
yorg -= panoramiXdataPtr[index].y;
}
}
#endif
@ -93,11 +93,11 @@ cfb8_32PaintWindow(
yorg = pBgWin->drawable.y;
#ifdef XINERAMA
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
int index = pWin->drawable.pScreen->myNum;
if(WindowTable[index] == pBgWin) {
xorg -= xineramaDataPtr[index].x;
yorg -= xineramaDataPtr[index].y;
xorg -= panoramiXdataPtr[index].x;
yorg -= panoramiXdataPtr[index].y;
}
}
#endif

View File

@ -28,7 +28,7 @@
* Authors: Kensuke Matsuzaki
* Harold L Hunt II
*/
/* $XFree86: xc/programs/Xserver/hw/xwin/winmultiwindowshape.c,v 1.2 2003/11/10 18:22:44 tsi Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xwin/winmultiwindowshape.c,v 1.3 2003/12/22 01:34:20 dickey Exp $ */
#ifdef SHAPE
@ -117,9 +117,9 @@ winReshapeMultiWindow (WindowPtr pWin)
if (!wBoundingShape (pWin))
return;
REGION_NULL(pScreen, &rrNewShape);
REGION_COPY(pScreen, &rrNewShape, wBoundingShape(pWin));
REGION_TRANSLATE(pScreen,
REGION_NULL(pWin->drawable.pScreen, &rrNewShape);
REGION_COPY(pWin->drawable.pScreen, &rrNewShape, wBoundingShape(pWin));
REGION_TRANSLATE(pWin->drawable.pScreen,
&rrNewShape,
pWin->borderWidth,
pWin->borderWidth);
@ -138,7 +138,7 @@ winReshapeMultiWindow (WindowPtr pWin)
if (!GetClientRect (pWinPriv->hWnd, &rcClient))
{
ErrorF ("winReshape - GetClientRect failed, bailing: %d\n",
GetLastError ());
(int) GetLastError ());
return;
}
@ -150,7 +150,7 @@ winReshapeMultiWindow (WindowPtr pWin)
if (!GetWindowRect (pWinPriv->hWnd, &rcWindow))
{
ErrorF ("winReshape - GetWindowRect failed, bailing: %d\n",
GetLastError ());
(int) GetLastError ());
return;
}
@ -165,7 +165,7 @@ winReshapeMultiWindow (WindowPtr pWin)
{
ErrorF ("winReshape - Initial CreateRectRgn (%d, %d, %d, %d) "
"failed: %d\n",
0, 0, rcWindow.right, iOffsetY, GetLastError ());
0, 0, (int) rcWindow.right, iOffsetY, (int) GetLastError ());
}
/* Loop through all rectangles in the X region */
@ -185,7 +185,7 @@ winReshapeMultiWindow (WindowPtr pWin)
pRects->y1 + iOffsetY - 1,
pRects->x2 + iOffsetX - 1,
pRects->y2 + iOffsetY - 1,
GetLastError (),
(int) GetLastError (),
pRects->x1, pRects->x2, iOffsetX,
pRects->y1, pRects->y2, iOffsetY);
}
@ -194,7 +194,7 @@ winReshapeMultiWindow (WindowPtr pWin)
if (CombineRgn (hRgn, hRgn, hRgnRect, RGN_OR) == ERROR)
{
ErrorF ("winReshape - CombineRgn () failed: %d\n",
GetLastError ());
(int) GetLastError ());
}
/* Delete the temporary Windows region */
@ -205,7 +205,7 @@ winReshapeMultiWindow (WindowPtr pWin)
pWinPriv->hRgn = hRgn;
}
REGION_UNINIT(pScreen, &rrNewShape);
REGION_UNINIT(pWin->drawable.pScreen, &rrNewShape);
return;
}

View File

@ -28,7 +28,7 @@
* Authors: Harold L Hunt II
* Kensuke Matsuzaki
*/
/* $XFree86: xc/programs/Xserver/hw/xwin/winwindow.c,v 1.9 2003/11/10 18:22:44 tsi Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xwin/winwindow.c,v 1.10 2003/12/22 01:34:20 dickey Exp $ */
#include "win.h"
@ -98,7 +98,7 @@ winCopyWindowNativeGDI (WindowPtr pWin,
int dx, dy;
int i, nbox;
WindowPtr pwinRoot;
BoxPtr pBoxDst, pBoxSrc;
BoxPtr pBoxDst;
ScreenPtr pScreen = pWin->drawable.pScreen;
winScreenPriv(pScreen);
@ -465,9 +465,7 @@ void
winReshapePRootless (WindowPtr pWin)
{
int nRects;
#if 0
ScreenPtr pScreen = pWin->drawable.pScreen;
#endif
RegionRec rrNewShape;
BoxPtr pShape, pRects, pEnd;
HRGN hRgn, hRgnRect;

View File

@ -1,4 +1,4 @@
/* $XdotOrg: xc/programs/Xserver/include/globals.h,v 1.4 2000/06/28 18:21:22 tsi Exp $ */
/* $XdotOrg: xc/programs/Xserver/include/globals.h,v 1.1.4.2 2004/02/25 21:47:00 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/include/globals.h,v 1.4 2000/06/28 18:21:22 tsi Exp $ */
#ifndef _XSERV_GLOBAL_H_
@ -42,11 +42,11 @@ extern Bool DPMSCapableFlag;
#endif
#ifdef XINERAMA
extern Bool noXineramaExtension;
extern Bool XineramaMapped;
extern Bool XineramaVisibilityNotifySent;
extern Bool XineramaWindowExposureSent;
extern Bool XineramaOneExposeRequest;
extern Bool noPanoramiXExtension;
extern Bool PanoramiXMapped;
extern Bool PanoramiXVisibilityNotifySent;
extern Bool PanoramiXWindowExposureSent;
extern Bool PanoramiXOneExposeRequest;
#endif

View File

@ -1,4 +1,4 @@
/* $XdotOrg: xc/programs/Xserver/mi/miarc.c,v 3.15 2003/12/06 18:46:28 dawes Exp $ */
/* $XdotOrg: xc/programs/Xserver/mi/miarc.c,v 1.1.4.4 2004/02/16 20:19:58 alanc Exp $ */
/* $XFree86: xc/programs/Xserver/mi/miarc.c,v 3.15 2003/12/06 18:46:28 dawes Exp $ */
/***********************************************************
@ -50,7 +50,8 @@ SOFTWARE.
/* Author: Keith Packard and Bob Scheifler */
/* Warning: this code is toxic, do not dally very long here. */
#if defined(_XOPEN_SOURCE) || defined(__QNXNTO__)
#if defined(_XOPEN_SOURCE) || defined(__QNXNTO__) \
|| (defined(sun) && defined(__SVR4))
#include <math.h>
#else
#define _XOPEN_SOURCE /* to get prototype for hypot on some systems */

View File

@ -1,5 +1,5 @@
/*
* Copyright 1997 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
* Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@ -44,7 +44,7 @@
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $XFree86: xc/programs/Xserver/mi/mibank.c,v 1.15 2003/11/10 18:39:16 tsi Exp $ */
/* $XFree86: xc/programs/Xserver/mi/mibank.c,v 1.16 2004/01/05 16:42:10 tsi Exp $ */
/*
* This thing originated from an idea of Edwin Goei and his bank switching

View File

@ -1,5 +1,5 @@
/*
* Copyright 1997 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
* Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@ -20,7 +20,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $XFree86: xc/programs/Xserver/mi/mibank.h,v 1.10 2003/01/01 19:16:42 tsi Exp $ */
/* $XFree86: xc/programs/Xserver/mi/mibank.h,v 1.11 2004/01/05 16:42:10 tsi Exp $ */
#ifndef __MIBANK_H__
#define __MIBANK_H__ 1

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/mi/miexpose.c,v 1.1.4.4 2004/02/25 21:47:02 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/mi/miexpose.c,v 3.10 2003/11/10 18:22:49 tsi Exp $ */
/***********************************************************
@ -69,8 +69,8 @@ SOFTWARE.
#include "globals.h"
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
/*
@ -427,19 +427,19 @@ miSendExposures(pWin, pRgn, dx, dy)
}
#ifdef XINERAMA
if(!noXineramaExtension) {
if(!noPanoramiXExtension) {
int scrnum = pWin->drawable.pScreen->myNum;
int x = 0, y = 0;
XID realWin = 0;
if(!pWin->parent) {
x = xineramaDataPtr[scrnum].x;
y = xineramaDataPtr[scrnum].y;
x = panoramiXdataPtr[scrnum].x;
y = panoramiXdataPtr[scrnum].y;
pWin = WindowTable[0];
realWin = pWin->drawable.id;
} else if (scrnum) {
XineramaRes *win;
win = XineramaFindIDByScrnum(XRT_WINDOW,
PanoramiXRes *win;
win = PanoramiXFindIDByScrnum(XRT_WINDOW,
pWin->drawable.id, scrnum);
if(!win) {
DEALLOCATE_LOCAL(pEvent);

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/mi/miinitext.c,v 1.1.4.3 2004/02/25 21:47:02 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/mi/miinitext.c,v 3.68 2003/01/15 02:34:14 torrey Exp $ */
/***********************************************************
@ -63,7 +63,7 @@ SOFTWARE.
#endif
#ifdef XINERAMA
extern Bool noXineramaExtension;
extern Bool noPanoramiXExtension;
#endif
extern Bool noTestExtensions;
#ifdef XKB
@ -104,7 +104,7 @@ typedef void (*InitExtension)(INITARGS);
#include "securstr.h"
#endif
#ifdef XINERAMA
#include "xineramaProto.h"
#include "panoramiXproto.h"
#endif
#ifdef XF86BIGFONT
#include "xf86bigfstr.h"
@ -136,7 +136,7 @@ extern void PexExtensionInit(INITARGS);
extern void MultibufferExtensionInit(INITARGS);
#endif
#ifdef XINERAMA
extern void XineramaExtensionInit(INITARGS);
extern void PanoramiXExtensionInit(INITARGS);
#endif
#ifdef XINPUT
extern void XInputExtensionInit(INITARGS);
@ -249,7 +249,7 @@ InitExtensions(argc, argv)
{
#ifdef XINERAMA
# if !defined(PRINT_ONLY_SERVER) && !defined(NO_XINERAMA)
if (!noXineramaExtension) XineramaExtensionInit();
if (!noPanoramiXExtension) PanoramiXExtensionInit();
# endif
#endif
#ifdef BEZIER
@ -438,7 +438,7 @@ ExtensionModule extension[] =
{ NULL, "TOG-CUP", NULL, NULL },
{ NULL, "Extended-Visual-Information", NULL, NULL },
#ifdef XINERAMA
{ NULL, "XINERAMA", &noXineramaExtension, NULL },
{ NULL, "XINERAMA", &noPanoramiXExtension, NULL },
#else
{ NULL, "NOXINERAMA", NULL, NULL },
#endif
@ -489,7 +489,7 @@ static ExtensionModule staticExtensions[] = {
{ XpExtensionInit, XP_PRINTNAME, NULL, NULL, NULL },
#endif
#ifdef XINERAMA
{ XineramaExtensionInit, XINERAMA_PROTOCOL_NAME, &noXineramaExtension, NULL, NULL },
{ PanoramiXExtensionInit, PANORAMIX_PROTOCOL_NAME, &noPanoramiXExtension, NULL, NULL },
#endif
#ifdef XF86BIGFONT
{ XFree86BigfontExtensionInit, XF86BIGFONTNAME, NULL, NULL, NULL },

View File

@ -26,13 +26,12 @@
* holders shall not be used in advertising or otherwise to promote the sale,
* use or other dealings in this Software without prior written authorization.
*/
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlpha.h,v 1.2 2003/10/18 00:00:34 torrey Exp $ */
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlpha.h,v 1.3 2004/01/19 01:22:48 torrey Exp $ */
#ifndef _SAFEALPHA_H
#define _SAFEALPHA_H
#include "picturestr.h"
#include "rootlessCommon.h"
void SafeAlphaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what);

View File

@ -32,7 +32,7 @@
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*/
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaPicture.c,v 1.3 2003/10/24 00:33:15 torrey Exp $ */
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaPicture.c,v 1.4 2004/01/19 01:22:48 torrey Exp $ */
#ifdef RENDER
@ -41,6 +41,7 @@
#include "mipict.h"
#include "fbpict.h"
#include "safeAlpha.h"
#include "rootlessCommon.h"
# define mod(a,b) ((b) == 1 ? 0 : (a) >= 0 ? (a) % (b) : (b) - (-a) % (b))

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaWindow.c,v 1.1.4.2 2004/02/23 21:37:25 kaleb Exp $ */
/*
* Specialized window functions to protect the alpha channel
*/
@ -32,10 +32,11 @@
*
* Copyright © 1998 Keith Packard
*/
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaWindow.c,v 1.1 2003/09/16 00:36:20 torrey Exp $ */
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaWindow.c,v 1.2 2004/01/19 01:22:48 torrey Exp $ */
#include "fb.h"
#include "safeAlpha.h"
#include "rootlessCommon.h"
#ifdef XINERAMA
#include "xinerama.h"

View File

@ -45,7 +45,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
/* $XFree86: xc/programs/Xserver/os/access.c,v 3.50 2003/11/03 05:12:00 tsi Exp $ */
/* $XFree86: xc/programs/Xserver/os/access.c,v 3.54 2004/01/03 17:38:39 herrb Exp $ */
#ifdef WIN32
#include <X11/Xwinsock.h>
@ -645,6 +645,20 @@ DefineLocalHost:
#include <arpa/inet.h>
#endif
#if defined(IPv6) && defined(AF_INET6)
static void
in6_fillscopeid(struct sockaddr_in6 *sin6)
{
#if defined(__KAME__)
if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
sin6->sin6_scope_id =
ntohs(*(u_int16_t *)&sin6->sin6_addr.s6_addr[2]);
sin6->sin6_addr.s6_addr[2] = sin6->sin6_addr.s6_addr[3] = 0;
}
#endif
}
#endif
void
DefineSelf (int fd)
{
@ -761,6 +775,10 @@ DefineSelf (int fd)
#endif /* DNETCONN */
if (family == -1 || family == FamilyLocal)
continue;
#if defined(IPv6) && defined(AF_INET6)
if (family == FamilyInternet6)
in6_fillscopeid((struct sockaddr_in6 *)&IFR_IFR_ADDR);
#endif
#ifdef DEF_SELF_DEBUG
if (family == FamilyInternet)
ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %d.%d.%d.%d\n",
@ -898,10 +916,24 @@ DefineSelf (int fd)
family = ConvertAddr(ifr->ifa_addr, &len, (pointer *)&addr);
if (family == -1 || family == FamilyLocal)
continue;
#if defined(IPv6) && defined(AF_INET6)
if (family == FamilyInternet6)
in6_fillscopeid((struct sockaddr_in6 *)ifr->ifa_addr);
#endif
#ifdef DEF_SELF_DEBUG
if (family == FamilyInternet)
ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %d.%d.%d.%d\n",
ifr->ifa_name, addr[0], addr[1], addr[2], addr[3]);
#if defined(IPv6) && defined(AF_INET6)
else if (family == FamilyInternet6) {
char cp[INET6_ADDRSTRLEN];
inet_ntop(AF_INET6, addr, cp, sizeof(cp));
ErrorF("Xserver: DefineSelf(): ifname = %s addr = %s\n",
ifr->ifa_name, cp);
}
#endif
#endif /* DEF_SELF_DEBUG */
for (host = selfhosts;
host != NULL && !addrEqual(family, addr, len, host);
@ -923,17 +955,34 @@ DefineSelf (int fd)
/*
* If this isn't an Internet Address, don't register it.
*/
if (family != FamilyInternet)
if (family != FamilyInternet
#if defined(IPv6) && defined(AF_INET6)
&& family != FamilyInternet6
#endif
)
continue;
/*
* ignore 'localhost' entries as they're not usefule
* ignore 'localhost' entries as they're not useful
* on the other end of the wire
*/
if (len == 4 &&
if (ifr->ifa_flags & IFF_LOOPBACK)
continue;
if (family == FamilyInternet &&
addr[0] == 127 && addr[1] == 0 &&
addr[2] == 0 && addr[2] == 1)
addr[2] == 0 && addr[3] == 1)
continue;
#if defined(IPv6) && defined(AF_INET6)
else if (family == FamilyInternet6 &&
IN6_IS_ADDR_LOOPBACK((struct in6_addr *)addr))
continue;
#endif
XdmcpRegisterConnection(family, (char *)addr, len);
#if defined(IPv6) && defined(AF_INET6)
if (family == FamilyInternet6)
/* IPv6 doesn't support broadcasting, so we drop out here */
continue;
#endif
if ((ifr->ifa_flags & IFF_BROADCAST) &&
(ifr->ifa_flags & IFF_UP))
broad_addr = *ifr->ifa_broadaddr;

View File

@ -1,4 +1,4 @@
/* $XdotOrg: utils.c,v 1.5 2001/02/09 02:05:24 xorgcvs Exp $ */
/* $XdotOrg: xc/programs/Xserver/os/utils.c,v 1.1.4.6 2004/02/25 21:47:04 kaleb Exp $ */
/* $Xorg: utils.c,v 1.5 2001/02/09 02:05:24 xorgcvs Exp $ */
/*
@ -50,7 +50,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $XFree86: xc/programs/Xserver/os/utils.c,v 3.95 2003/10/01 18:36:38 alanh Exp $ */
/* $XFree86: xc/programs/Xserver/os/utils.c,v 3.97 2004/01/09 00:35:06 dawes Exp $ */
#ifdef __CYGWIN__
#include <stdlib.h>
@ -129,12 +129,12 @@ OR PERFORMANCE OF THIS SOFTWARE.
Bool CoreDump;
Bool noTestExtensions;
Bool noXineramaExtension = TRUE;
Bool noPanoramiXExtension = TRUE;
#ifdef XINERAMA
Bool XineramaVisibilityNotifySent = FALSE;
Bool XineramaMapped = FALSE;
Bool XineramaWindowExposureSent = FALSE;
Bool XineramaOneExposeRequest = FALSE;
Bool PanoramiXVisibilityNotifySent = FALSE;
Bool PanoramiXMapped = FALSE;
Bool PanoramiXWindowExposureSent = FALSE;
Bool PanoramiXOneExposeRequest = FALSE;
#endif
int auditTrailLevel = 1;
@ -245,6 +245,7 @@ LockServer(void)
int lfd, i, haslock, l_pid, t;
char *tmppath = NULL;
int len;
char port[20];
if (nolock) return;
/*
@ -259,13 +260,14 @@ LockServer(void)
FatalError("No TMP dir found\n");
#endif
sprintf(port, "%d", atoi(display));
len = strlen(LOCK_PREFIX) > strlen(LOCK_TMP_PREFIX) ? strlen(LOCK_PREFIX) :
strlen(LOCK_TMP_PREFIX);
len += strlen(tmppath) + strlen(display) + strlen(LOCK_SUFFIX) + 1;
len += strlen(tmppath) + strlen(port) + strlen(LOCK_SUFFIX) + 1;
if (len > sizeof(LockFile))
FatalError("Display name `%s' is too long\n", display);
(void)sprintf(tmp, "%s" LOCK_TMP_PREFIX "%s" LOCK_SUFFIX, tmppath, display);
(void)sprintf(LockFile, "%s" LOCK_PREFIX "%s" LOCK_SUFFIX, tmppath, display);
FatalError("Display name `%s' is too long\n", port);
(void)sprintf(tmp, "%s" LOCK_TMP_PREFIX "%s" LOCK_SUFFIX, tmppath, port);
(void)sprintf(LockFile, "%s" LOCK_PREFIX "%s" LOCK_SUFFIX, tmppath, port);
/*
* Create a temporary file containing our PID. Attempt three times
@ -360,7 +362,7 @@ LockServer(void)
*/
unlink(tmp);
FatalError("Server is already active for display %s\n%s %s\n%s\n",
display, "\tIf this server is no longer running, remove",
port, "\tIf this server is no longer running, remove",
LockFile, "\tand start again.");
}
}
@ -585,8 +587,10 @@ ProcessCommandLine(int argc, char *argv[])
defaultKeyboardControl.autoRepeat = TRUE;
#ifdef PART_NET
PartialNetwork = TRUE;
#ifdef NO_PART_NET
PartialNetwork = FALSE;
#else
PartialNetwork = TRUE;
#endif
for ( i = 1; i < argc; i++ )
@ -882,10 +886,10 @@ ProcessCommandLine(int argc, char *argv[])
}
#ifdef XINERAMA
else if ( strcmp( argv[i], "+xinerama") == 0){
noXineramaExtension = FALSE;
noPanoramiXExtension = FALSE;
}
else if ( strcmp( argv[i], "-xinerama") == 0){
noXineramaExtension = TRUE;
noPanoramiXExtension = TRUE;
}
#endif
else if ( strcmp( argv[i], "-x") == 0)

View File

@ -1,4 +1,4 @@
/* $XdotOrg: xdmcp.c,v 1.4 2001/01/31 13:37:19 pookie Exp $ */
/* $XdotOrg: xc/programs/Xserver/os/xdmcp.c,v 1.1.4.5 2004/02/23 21:37:27 kaleb Exp $ */
/* $Xorg: xdmcp.c,v 1.4 2001/01/31 13:37:19 pookie Exp $ */
/*
* Copyright 1989 Network Computing Devices, Inc., Mountain View, California.
@ -14,7 +14,7 @@
* without express or implied warranty.
*
*/
/* $XFree86: xc/programs/Xserver/os/xdmcp.c,v 3.29 2003/11/22 04:51:02 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/os/xdmcp.c,v 3.32 2004/01/01 17:09:29 herrb Exp $ */
#ifdef WIN32
/* avoid conflicting definitions */
@ -759,14 +759,6 @@ XdmcpSelectHost(
int host_len,
ARRAY8Ptr AuthenticationName)
{
#if defined(IPv6) && defined(AF_INET6)
/* Don't need list of addresses for host anymore */
if (mgrAddrFirst != NULL) {
freeaddrinfo(mgrAddrFirst);
mgrAddrFirst = NULL;
mgrAddr = NULL;
}
#endif
state = XDM_START_CONNECTION;
memmove(&req_sockaddr, host_sockaddr, host_len);
req_socklen = host_len;
@ -1162,7 +1154,7 @@ send_query_msg(void)
socketfd = xdmcpSocket6;
#endif
XdmcpFlush (socketfd, &buffer, (XdmcpNetaddr) &ManagerAddress,
sizeof (ManagerAddress));
ManagerAddressLen);
}
}
@ -1214,9 +1206,19 @@ send_request_msg(void)
XdmcpHeader header;
int length;
int i;
CARD16 XdmcpConnectionType;
ARRAY8 authenticationData;
int socketfd = xdmcpSocket;
switch (SOCKADDR_FAMILY(ManagerAddress))
{
case AF_INET: XdmcpConnectionType=FamilyInternet; break;
#if defined(IPv6) && defined(AF_INET6)
case AF_INET6: XdmcpConnectionType=FamilyInternet6; break;
#endif
default: XdmcpConnectionType=0xffff; break;
}
header.version = XDM_PROTOCOL_VERSION;
header.opcode = (CARD16) REQUEST;
@ -1247,8 +1249,27 @@ send_request_msg(void)
return;
}
XdmcpWriteCARD16 (&buffer, DisplayNumber);
XdmcpWriteARRAY16 (&buffer, &ConnectionTypes);
XdmcpWriteARRAYofARRAY8 (&buffer, &ConnectionAddresses);
XdmcpWriteCARD8 (&buffer, ConnectionTypes.length);
/* The connection array is send reordered, so that connections of */
/* the same address type as the XDMCP manager connection are send */
/* first. This works around a bug in xdm. mario@klebsch.de */
for (i = 0; i < (int)ConnectionTypes.length; i++)
if (ConnectionTypes.data[i]==XdmcpConnectionType)
XdmcpWriteCARD16 (&buffer, ConnectionTypes.data[i]);
for (i = 0; i < (int)ConnectionTypes.length; i++)
if (ConnectionTypes.data[i]!=XdmcpConnectionType)
XdmcpWriteCARD16 (&buffer, ConnectionTypes.data[i]);
XdmcpWriteCARD8 (&buffer, ConnectionAddresses.length);
for (i = 0; i < (int)ConnectionAddresses.length; i++)
if ( (i<ConnectionTypes.length) &&
(ConnectionTypes.data[i]==XdmcpConnectionType) )
XdmcpWriteARRAY8 (&buffer, &ConnectionAddresses.data[i]);
for (i = 0; i < (int)ConnectionAddresses.length; i++)
if ( (i>=ConnectionTypes.length) ||
(ConnectionTypes.data[i]!=XdmcpConnectionType) )
XdmcpWriteARRAY8 (&buffer, &ConnectionAddresses.data[i]);
XdmcpWriteARRAY8 (&buffer, AuthenticationName);
XdmcpWriteARRAY8 (&buffer, &authenticationData);

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/record/record.c,v 1.1.4.4 2004/02/25 21:47:07 kaleb Exp $ */
/* $Xorg: record.c,v 1.4 2001/02/09 02:05:27 xorgcvs Exp $ */
/*
@ -51,8 +51,8 @@ and Jim Haggerty of Metheus.
#ifdef XINERAMA
#include "globals.h"
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#include "cursor.h"
#endif
@ -874,7 +874,7 @@ RecordADeviceEvent(pcbl, nulldata, calldata)
#ifdef XINERAMA
xEvent shiftedEvent;
if (!noXineramaExtension &&
if (!noPanoramiXExtension &&
(pev->u.u.type == MotionNotify ||
pev->u.u.type == ButtonPress ||
pev->u.u.type == ButtonRelease ||
@ -883,11 +883,11 @@ RecordADeviceEvent(pcbl, nulldata, calldata)
int scr = XineramaGetCursorScreen();
memcpy(&shiftedEvent, pev, sizeof(xEvent));
shiftedEvent.u.keyButtonPointer.rootX +=
xineramaDataPtr[scr].x -
xineramaDataPtr[0].x;
panoramiXdataPtr[scr].x -
panoramiXdataPtr[0].x;
shiftedEvent.u.keyButtonPointer.rootY +=
xineramaDataPtr[scr].y -
xineramaDataPtr[0].y;
panoramiXdataPtr[scr].y -
panoramiXdataPtr[0].y;
pEvToRecord = &shiftedEvent;
}
#endif /* XINERAMA */

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/render/picturestr.h,v 1.1.4.2 2004/02/25 21:47:08 kaleb Exp $ */
/*
* $XFree86: xc/programs/Xserver/render/picturestr.h,v 1.22 2002/11/23 02:38:15 keithp Exp $
*
@ -495,8 +495,8 @@ int
AnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *ppCursor);
#ifdef XINERAMA
void XineramaRenderInit (void);
void XineramaRenderReset (void);
void PanoramiXRenderInit (void);
void PanoramiXRenderReset (void);
#endif
#endif /* _PICTURESTR_H_ */

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/render/render.c,v 1.1.4.3 2004/02/25 21:47:08 kaleb Exp $ */
/*
* $XFree86: xc/programs/Xserver/render/render.c,v 1.28 2003/11/03 05:12:02 tsi Exp $
*
@ -338,7 +338,7 @@ ProcRenderQueryPictFormats (ClientPtr client)
REQUEST_SIZE_MATCH(xRenderQueryPictFormatsReq);
#ifdef XINERAMA
if (noXineramaExtension)
if (noPanoramiXExtension)
numScreens = screenInfo.numScreens;
else
numScreens = ((xConnSetup *)ConnectionInfo)->numRoots;
@ -2285,8 +2285,8 @@ SProcRenderDispatch (ClientPtr client)
}
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#define VERIFY_XIN_PICTURE(pPicture, pid, client, mode, err) {\
pPicture = SecurityLookupIDByType(client, pid, XRT_PICTURE, mode);\
@ -2312,14 +2312,14 @@ static int
XineramaRenderCreatePicture (ClientPtr client)
{
REQUEST(xRenderCreatePictureReq);
XineramaRes *refDraw, *newPict;
PanoramiXRes *refDraw, *newPict;
int result = Success, j;
REQUEST_AT_LEAST_SIZE(xRenderCreatePictureReq);
if(!(refDraw = (XineramaRes *)SecurityLookupIDByClass(
if(!(refDraw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
if(!(newPict = (XineramaRes *) xalloc(sizeof(XineramaRes))))
if(!(newPict = (PanoramiXRes *) xalloc(sizeof(PanoramiXRes))))
return BadAlloc;
newPict->type = XRT_PICTURE;
newPict->info[0].id = stuff->pid;
@ -2332,7 +2332,7 @@ XineramaRenderCreatePicture (ClientPtr client)
else
newPict->u.pict.root = FALSE;
for(j = 1; j < XineramaNumScreens; j++)
for(j = 1; j < PanoramiXNumScreens; j++)
newPict->info[j].id = FakeClientID(client->index);
FOR_NSCREENS_BACKWARD(j) {
@ -2353,7 +2353,7 @@ XineramaRenderCreatePicture (ClientPtr client)
static int
XineramaRenderChangePicture (ClientPtr client)
{
XineramaRes *pict;
PanoramiXRes *pict;
int result = Success, j;
REQUEST(xRenderChangePictureReq);
@ -2376,7 +2376,7 @@ XineramaRenderSetPictureClipRectangles (ClientPtr client)
{
REQUEST(xRenderSetPictureClipRectanglesReq);
int result = Success, j;
XineramaRes *pict;
PanoramiXRes *pict;
REQUEST_AT_LEAST_SIZE(xRenderSetPictureClipRectanglesReq);
@ -2397,7 +2397,7 @@ XineramaRenderSetPictureTransform (ClientPtr client)
{
REQUEST(xRenderSetPictureTransformReq);
int result = Success, j;
XineramaRes *pict;
PanoramiXRes *pict;
REQUEST_AT_LEAST_SIZE(xRenderSetPictureTransformReq);
@ -2418,7 +2418,7 @@ XineramaRenderSetPictureFilter (ClientPtr client)
{
REQUEST(xRenderSetPictureFilterReq);
int result = Success, j;
XineramaRes *pict;
PanoramiXRes *pict;
REQUEST_AT_LEAST_SIZE(xRenderSetPictureFilterReq);
@ -2437,7 +2437,7 @@ XineramaRenderSetPictureFilter (ClientPtr client)
static int
XineramaRenderFreePicture (ClientPtr client)
{
XineramaRes *pict;
PanoramiXRes *pict;
int result = Success, j;
REQUEST(xRenderFreePictureReq);
@ -2464,7 +2464,7 @@ XineramaRenderFreePicture (ClientPtr client)
static int
XineramaRenderComposite (ClientPtr client)
{
XineramaRes *src, *msk, *dst;
PanoramiXRes *src, *msk, *dst;
int result = Success, j;
xRenderCompositeReq orig;
REQUEST(xRenderCompositeReq);
@ -2484,22 +2484,22 @@ XineramaRenderComposite (ClientPtr client)
stuff->src = src->info[j].id;
if (src->u.pict.root)
{
stuff->xSrc = orig.xSrc - xineramaDataPtr[j].x;
stuff->ySrc = orig.ySrc - xineramaDataPtr[j].y;
stuff->xSrc = orig.xSrc - panoramiXdataPtr[j].x;
stuff->ySrc = orig.ySrc - panoramiXdataPtr[j].y;
}
stuff->dst = dst->info[j].id;
if (dst->u.pict.root)
{
stuff->xDst = orig.xDst - xineramaDataPtr[j].x;
stuff->yDst = orig.yDst - xineramaDataPtr[j].y;
stuff->xDst = orig.xDst - panoramiXdataPtr[j].x;
stuff->yDst = orig.yDst - panoramiXdataPtr[j].y;
}
if (msk)
{
stuff->mask = msk->info[j].id;
if (msk->u.pict.root)
{
stuff->xMask = orig.xMask - xineramaDataPtr[j].x;
stuff->yMask = orig.yMask - xineramaDataPtr[j].y;
stuff->xMask = orig.xMask - panoramiXdataPtr[j].x;
stuff->yMask = orig.yMask - panoramiXdataPtr[j].y;
}
}
result = (*XineramaSaveRenderVector[X_RenderComposite]) (client);
@ -2512,7 +2512,7 @@ XineramaRenderComposite (ClientPtr client)
static int
XineramaRenderCompositeGlyphs (ClientPtr client)
{
XineramaRes *src, *dst;
PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderCompositeGlyphsReq);
xGlyphElt origElt, *elt;
@ -2535,14 +2535,14 @@ XineramaRenderCompositeGlyphs (ClientPtr client)
stuff->src = src->info[j].id;
if (src->u.pict.root)
{
stuff->xSrc = xSrc - xineramaDataPtr[j].x;
stuff->ySrc = ySrc - xineramaDataPtr[j].y;
stuff->xSrc = xSrc - panoramiXdataPtr[j].x;
stuff->ySrc = ySrc - panoramiXdataPtr[j].y;
}
stuff->dst = dst->info[j].id;
if (dst->u.pict.root)
{
elt->deltax = origElt.deltax - xineramaDataPtr[j].x;
elt->deltay = origElt.deltay - xineramaDataPtr[j].y;
elt->deltax = origElt.deltax - panoramiXdataPtr[j].x;
elt->deltay = origElt.deltay - panoramiXdataPtr[j].y;
}
result = (*XineramaSaveRenderVector[stuff->renderReqType]) (client);
if(result != Success) break;
@ -2555,7 +2555,7 @@ XineramaRenderCompositeGlyphs (ClientPtr client)
static int
XineramaRenderFillRectangles (ClientPtr client)
{
XineramaRes *dst;
PanoramiXRes *dst;
int result = Success, j;
REQUEST(xRenderFillRectanglesReq);
char *extra;
@ -2573,8 +2573,8 @@ XineramaRenderFillRectangles (ClientPtr client)
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root)
{
int x_off = xineramaDataPtr[j].x;
int y_off = xineramaDataPtr[j].y;
int x_off = panoramiXdataPtr[j].x;
int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
xRectangle *rects = (xRectangle *) (stuff + 1);
@ -2601,7 +2601,7 @@ XineramaRenderFillRectangles (ClientPtr client)
static int
XineramaRenderTrapezoids(ClientPtr client)
{
XineramaRes *src, *dst;
PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderTrapezoidsReq);
char *extra;
@ -2623,8 +2623,8 @@ XineramaRenderTrapezoids(ClientPtr client)
FOR_NSCREENS_FORWARD(j) {
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root) {
int x_off = xineramaDataPtr[j].x;
int y_off = xineramaDataPtr[j].y;
int x_off = panoramiXdataPtr[j].x;
int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
xTrapezoid *trap = (xTrapezoid *) (stuff + 1);
@ -2663,7 +2663,7 @@ XineramaRenderTrapezoids(ClientPtr client)
static int
XineramaRenderTriangles(ClientPtr client)
{
XineramaRes *src, *dst;
PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderTrianglesReq);
char *extra;
@ -2685,8 +2685,8 @@ XineramaRenderTriangles(ClientPtr client)
FOR_NSCREENS_FORWARD(j) {
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root) {
int x_off = xineramaDataPtr[j].x;
int y_off = xineramaDataPtr[j].y;
int x_off = panoramiXdataPtr[j].x;
int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
xTriangle *tri = (xTriangle *) (stuff + 1);
@ -2721,7 +2721,7 @@ XineramaRenderTriangles(ClientPtr client)
static int
XineramaRenderTriStrip(ClientPtr client)
{
XineramaRes *src, *dst;
PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderTriStripReq);
char *extra;
@ -2743,8 +2743,8 @@ XineramaRenderTriStrip(ClientPtr client)
FOR_NSCREENS_FORWARD(j) {
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root) {
int x_off = xineramaDataPtr[j].x;
int y_off = xineramaDataPtr[j].y;
int x_off = panoramiXdataPtr[j].x;
int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
xPointFixed *fixed = (xPointFixed *) (stuff + 1);
@ -2775,7 +2775,7 @@ XineramaRenderTriStrip(ClientPtr client)
static int
XineramaRenderTriFan(ClientPtr client)
{
XineramaRes *src, *dst;
PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderTriFanReq);
char *extra;
@ -2797,8 +2797,8 @@ XineramaRenderTriFan(ClientPtr client)
FOR_NSCREENS_FORWARD(j) {
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root) {
int x_off = xineramaDataPtr[j].x;
int y_off = xineramaDataPtr[j].y;
int x_off = panoramiXdataPtr[j].x;
int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
xPointFixed *fixed = (xPointFixed *) (stuff + 1);
@ -2831,7 +2831,7 @@ XineramaRenderTriFan(ClientPtr client)
static int
XineramaRenderColorTrapezoids(ClientPtr client)
{
XineramaRes *src, *dst;
PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderColorTrapezoidsReq);
char *extra;
@ -2851,8 +2851,8 @@ XineramaRenderColorTrapezoids(ClientPtr client)
FOR_NSCREENS_FORWARD(j) {
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root) {
int x_off = xineramaDataPtr[j].x;
int y_off = xineramaDataPtr[j].y;
int x_off = panoramiXdataPtr[j].x;
int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
....;
@ -2875,7 +2875,7 @@ XineramaRenderColorTrapezoids(ClientPtr client)
static int
XineramaRenderColorTriangles(ClientPtr client)
{
XineramaRes *src, *dst;
PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderColorTrianglesReq);
char *extra;
@ -2895,8 +2895,8 @@ XineramaRenderColorTriangles(ClientPtr client)
FOR_NSCREENS_FORWARD(j) {
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root) {
int x_off = xineramaDataPtr[j].x;
int y_off = xineramaDataPtr[j].y;
int x_off = panoramiXdataPtr[j].x;
int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
....;
@ -2919,7 +2919,7 @@ XineramaRenderColorTriangles(ClientPtr client)
#endif
void
XineramaRenderInit (void)
PanoramiXRenderInit (void)
{
int i;
@ -2948,7 +2948,7 @@ XineramaRenderInit (void)
}
void
XineramaRenderReset (void)
PanoramiXRenderReset (void)
{
int i;
for (i = 0; i < RenderNumberRequests; i++)

View File

@ -1,4 +1,4 @@
/* $XdotOrg$ */
/* $XdotOrg: xc/programs/Xserver/xkb/ddxFakeMtn.c,v 1.1.4.5 2004/02/25 21:47:10 kaleb Exp $ */
/* $Xorg: ddxFakeMtn.c,v 1.3 2000/08/17 19:53:45 cpqbld Exp $ */
/************************************************************
Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
@ -39,8 +39,8 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include "XI.h"
#ifdef XINERAMA
#include "xinerama.h"
#include "xineramaSrv.h"
#include "panoramiX.h"
#include "panoramiXsrv.h"
#endif
#include "mipointer.h"
@ -56,7 +56,7 @@ ScreenPtr pScreen, oldScreen;
pScreen = oldScreen = GetSpriteWindow()->drawable.pScreen;
#ifdef XINERAMA
if (!noXineramaExtension) {
if (!noPanoramiXExtension) {
BoxRec box;
int i;
@ -93,8 +93,8 @@ ScreenPtr pScreen, oldScreen;
}
}
}
oldX -= xineramaDataPtr[pScreen->myNum].x;
oldY -= xineramaDataPtr[pScreen->myNum].y;
oldX -= panoramiXdataPtr[pScreen->myNum].x;
oldY -= panoramiXdataPtr[pScreen->myNum].y;
}
else
#endif

View File

@ -24,7 +24,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
THE USE OR PERFORMANCE OF THIS SOFTWARE.
********************************************************/
/* $XFree86: xc/programs/Xserver/xkb/xkb.c,v 3.22 2003/11/17 22:20:45 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/xkb/xkb.c,v 3.23 2003/12/22 17:48:11 tsi Exp $ */
#include <stdio.h>
#include "X.h"
@ -2307,8 +2307,7 @@ ProcXkbSetMap(ClientPtr client)
stuff->maxKeyCode= xkb->max_key_code;
}
else {
if ((stuff->minKeyCode<XkbMinLegalKeyCode)||
(stuff->maxKeyCode>XkbMaxLegalKeyCode)) {
if (!XkbIsLegalKeycode(stuff->minKeyCode)) {
client->errorValue= _XkbErrCode3(2,stuff->minKeyCode,
stuff->maxKeyCode);
return BadValue;

View File

@ -46,8 +46,47 @@ extern void ProcessOtherEvent(
);
#endif
static unsigned int _xkbServerGeneration;
int xkbDevicePrivateIndex = -1;
/***====================================================================***/
void
xkbUnwrapProc(DeviceIntPtr device, DeviceHandleProc proc,
pointer data)
{
xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(device);
ProcessInputProc tmp = device->public.processInputProc;
UNWRAP_PROCESS_INPUT_PROC(device,xkbPrivPtr);
proc(device,data);
WRAP_PROCESS_INPUT_PROC(device,xkbPrivPtr,
tmp,xkbUnwrapProc);
}
void
XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc)
{
xkbDeviceInfoPtr xkbPrivPtr;
if (serverGeneration != _xkbServerGeneration) {
if ((xkbDevicePrivateIndex = AllocateDevicePrivateIndex()) == -1)
return;
_xkbServerGeneration = serverGeneration;
}
if (!AllocateDevicePrivate(device, xkbDevicePrivateIndex))
return;
xkbPrivPtr = (xkbDeviceInfoPtr) xcalloc(sizeof(xkbDeviceInfoRec),1);
if (!xkbPrivPtr)
return;
xkbPrivPtr->unwrapProc = NULL;
device->devPrivates[xkbDevicePrivateIndex].ptr = xkbPrivPtr;
WRAP_PROCESS_INPUT_PROC(device,xkbPrivPtr,
proc,xkbUnwrapProc);
}
static XkbAction
_FixUpAction(XkbDescPtr xkb,XkbAction *act)
{
@ -822,6 +861,7 @@ xEvent ev;
int x,y;
XkbStateRec old;
unsigned mods,mask,oldCoreState = 0,oldCorePrevState = 0;
xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(xkbi->device);
if ((filter->keycode!=0)&&(filter->keycode!=keycode))
return 1;
@ -870,7 +910,10 @@ unsigned mods,mask,oldCoreState = 0,oldCorePrevState = 0;
realMods = xkbi->device->key->modifierMap[ev.u.u.detail];
xkbi->device->key->modifierMap[ev.u.u.detail] = 0;
CoreProcessKeyboardEvent(&ev,xkbi->device,1);
UNWRAP_PROCESS_INPUT_PROC(xkbi->device,xkbPrivPtr);
xkbi->device->public.processInputProc(&ev,xkbi->device,1);
COND_WRAP_PROCESS_INPUT_PROC(xkbi->device, xkbPrivPtr,
ProcessKeyboardEvent,xkbUnwrapProc);
xkbi->device->key->modifierMap[ev.u.u.detail] = realMods;
if ( mask || mods ) {
@ -908,7 +951,10 @@ unsigned mods,mask,oldCoreState = 0,oldCorePrevState = 0;
realMods = xkbi->device->key->modifierMap[ev.u.u.detail];
xkbi->device->key->modifierMap[ev.u.u.detail] = 0;
CoreProcessKeyboardEvent(&ev,xkbi->device,1);
UNWRAP_PROCESS_INPUT_PROC(xkbi->device,xkbPrivPtr);
xkbi->device->public.processInputProc(&ev,xkbi->device,1);
COND_WRAP_PROCESS_INPUT_PROC(xkbi->device, xkbPrivPtr,
ProcessKeyboardEvent,xkbUnwrapProc);
xkbi->device->key->modifierMap[ev.u.u.detail] = realMods;
if ( mask || mods ) {
@ -1102,7 +1148,8 @@ Bool pressEvent;
#ifdef XINPUT
Bool xiEvent;
#endif
xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
keyc= kbd->key;
xkbi= keyc->xkbInfo;
key= xE->u.u.detail;
@ -1244,10 +1291,17 @@ Bool xiEvent;
if (keyEvent) {
realMods = keyc->modifierMap[key];
keyc->modifierMap[key] = 0;
CoreProcessKeyboardEvent(xE,dev,count);
UNWRAP_PROCESS_INPUT_PROC(dev,xkbPrivPtr);
dev->public.processInputProc(xE,dev,count);
COND_WRAP_PROCESS_INPUT_PROC(dev, xkbPrivPtr,
ProcessKeyboardEvent,xkbUnwrapProc);
keyc->modifierMap[key] = realMods;
} else {
UNWRAP_PROCESS_INPUT_PROC(dev,xkbPrivPtr);
dev->public.processInputProc(xE,dev,count);
COND_WRAP_PROCESS_INPUT_PROC(dev, xkbPrivPtr,
ProcessPointerEvent,xkbUnwrapProc);
}
else CoreProcessPointerEvent(xE,dev,count);
}
else if (keyEvent)
FixKeyState(xE,dev);

View File

@ -24,7 +24,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
THE USE OR PERFORMANCE OF THIS SOFTWARE.
********************************************************/
/* $XFree86: xc/programs/Xserver/xkb/xkbInit.c,v 3.32 2003/11/17 22:20:46 dawes Exp $ */
/* $XFree86: xc/programs/Xserver/xkb/xkbInit.c,v 3.33 2003/12/22 17:48:12 tsi Exp $ */
#include <stdio.h>
#include <stdlib.h>
@ -716,7 +716,7 @@ XkbRF_VarDefsRec defs;
if (ok && (finfo.xkb!=NULL)) {
XkbDescPtr xkb;
int minKC,maxKC;
KeyCode minKC,maxKC;
xkb= finfo.xkb;
minKC= xkb->min_key_code;