diff options
author | Egbert Eich <eich@suse.de> | 2004-03-01 15:06:59 +0000 |
---|---|---|
committer | Egbert Eich <eich@suse.de> | 2004-03-01 15:06:59 +0000 |
commit | c6c51e2b3bb144149f008573b683f62caeffa263 (patch) | |
tree | 24d7dd072ee88206d9485923d6fab599ba0b734f | |
parent | b58d2e37a7a18122764133b439bf7eb0924e22b6 (diff) |
3. Added missing parts to XKB to make XEVIE branch compile (Egbert Eich).XEVIE
2. Merged with XORG-CURRENT branch to obtain a bugfix (Egbert Eich).
1. First add of SUN's XIVIE extension (Stuart Kreitman).
85 files changed, 1505 insertions, 858 deletions
diff --git a/Xext/saver.c b/Xext/saver.c index cc4992ee1..b6175e376 100644 --- a/Xext/saver.c +++ b/Xext/saver.c @@ -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); } diff --git a/Xext/shape.c b/Xext/shape.c index 4774a0562..c3c64975b 100644 --- a/Xext/shape.c +++ b/Xext/shape.c @@ -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 diff --git a/Xext/shm.c b/Xext/shm.c index 6c3664476..ff34ee337 100644 --- a/Xext/shm.c +++ b/Xext/shm.c @@ -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); diff --git a/Xext/xtest.c b/Xext/xtest.c index 0dec3b623..a5461081c 100644 --- a/Xext/xtest.c +++ b/Xext/xtest.c @@ -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()) diff --git a/Xext/xvdisp.c b/Xext/xvdisp.c index 14b8c99e2..9f73b3d79 100644 --- a/Xext/xvdisp.c +++ b/Xext/xvdisp.c @@ -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 diff --git a/Xext/xvmain.c b/Xext/xvmain.c index 866fcd7da..469cf7e6f 100644 --- a/Xext/xvmain.c +++ b/Xext/xvmain.c @@ -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 diff --git a/Xprint/pcl/PclSFonts.c b/Xprint/pcl/PclSFonts.c index d1ad8dc29..3c7cf05af 100644 --- a/Xprint/pcl/PclSFonts.c +++ b/Xprint/pcl/PclSFonts.c @@ -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); } diff --git a/cfb/cfbpntwin.c b/cfb/cfbpntwin.c index 35b9dc017..757911284 100644 --- a/cfb/cfbpntwin.c +++ b/cfb/cfbpntwin.c @@ -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 @@ -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. */ diff --git a/dix/colormap.c b/dix/colormap.c index f3080471a..79247c471 100644 --- a/dix/colormap.c +++ b/dix/colormap.c @@ -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) { diff --git a/dix/dispatch.c b/dix/dispatch.c index ac573d235..523365355 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -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; diff --git a/dix/dixfonts.c b/dix/dixfonts.c index 114dc5720..6ed6ac3e9 100644 --- a/dix/dixfonts.c +++ b/dix/dixfonts.c @@ -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); } diff --git a/dix/events.c b/dix/events.c index f8f69e172..50f99a61d 100644 --- a/dix/events.c +++ b/dix/events.c @@ -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; diff --git a/dix/main.c b/dix/main.c index 0f2fd7c70..c67d580ab 100644 --- a/dix/main.c +++ b/dix/main.c @@ -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(); diff --git a/dix/resource.c b/dix/resource.c index ddcb8d0a3..2caee99fc 100644 --- a/dix/resource.c +++ b/dix/resource.c @@ -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; diff --git a/dix/window.c b/dix/window.c index 20dbc83df..773cfb261 100644 --- a/dix/window.c +++ b/dix/window.c @@ -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); diff --git a/dix/xpstubs.c b/dix/xpstubs.c index a48a81402..db6de103c 100644 --- a/dix/xpstubs.c +++ b/dix/xpstubs.c @@ -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; } diff --git a/fb/fbcopy.c b/fb/fbcopy.c index 74d07a1bf..6dd48a786 100644 --- a/fb/fbcopy.c +++ b/fb/fbcopy.c @@ -21,7 +21,7 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.13 2003/11/10 18:21:47 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.14 2003/12/28 17:22:25 alanh Exp $ */ #include "fb.h" #ifdef IN_MODULE @@ -398,7 +398,10 @@ fbDoCopy (DrawablePtr pSrcDrawable, int dx; int dy; int numRects; - BoxRec box; + int box_x1; + int box_y1; + int box_x2; + int box_y2; Bool fastSrc = FALSE; /* for fast clipping with pixmap source */ Bool fastDst = FALSE; /* for fast clipping with one rect dest */ Bool fastExpose = FALSE; /* for fast exposures with pixmap source */ @@ -466,10 +469,10 @@ fbDoCopy (DrawablePtr pSrcDrawable, xOut += pDstDrawable->x; yOut += pDstDrawable->y; - box.x1 = xIn; - box.y1 = yIn; - box.x2 = xIn + widthSrc; - box.y2 = yIn + heightSrc; + box_x1 = xIn; + box_y1 = yIn; + box_x2 = xIn + widthSrc; + box_y2 = yIn + heightSrc; dx = xIn - xOut; dy = yIn - yOut; @@ -484,32 +487,32 @@ fbDoCopy (DrawablePtr pSrcDrawable, * clip the source; if regions extend beyond the source size, * make sure exposure events get sent */ - if (box.x1 < pSrcDrawable->x) + if (box_x1 < pSrcDrawable->x) { - box.x1 = pSrcDrawable->x; + box_x1 = pSrcDrawable->x; fastExpose = FALSE; } - if (box.y1 < pSrcDrawable->y) + if (box_y1 < pSrcDrawable->y) { - box.y1 = pSrcDrawable->y; + box_y1 = pSrcDrawable->y; fastExpose = FALSE; } - if (box.x2 > pSrcDrawable->x + (int) pSrcDrawable->width) + if (box_x2 > pSrcDrawable->x + (int) pSrcDrawable->width) { - box.x2 = pSrcDrawable->x + (int) pSrcDrawable->width; + box_x2 = pSrcDrawable->x + (int) pSrcDrawable->width; fastExpose = FALSE; } - if (box.y2 > pSrcDrawable->y + (int) pSrcDrawable->height) + if (box_y2 > pSrcDrawable->y + (int) pSrcDrawable->height) { - box.y2 = pSrcDrawable->y + (int) pSrcDrawable->height; + box_y2 = pSrcDrawable->y + (int) pSrcDrawable->height; fastExpose = FALSE; } /* Translate and clip the dst to the destination composite clip */ - box.x1 -= dx; - box.x2 -= dx; - box.y1 -= dy; - box.y2 -= dy; + box_x1 -= dx; + box_x2 -= dx; + box_y1 -= dy; + box_y2 -= dy; /* If the destination composite clip is one rectangle we can do the clip directly. Otherwise we have to create a full @@ -520,21 +523,26 @@ fbDoCopy (DrawablePtr pSrcDrawable, { BoxPtr pBox = REGION_RECTS(cclip); - if (box.x1 < pBox->x1) box.x1 = pBox->x1; - if (box.x2 > pBox->x2) box.x2 = pBox->x2; - if (box.y1 < pBox->y1) box.y1 = pBox->y1; - if (box.y2 > pBox->y2) box.y2 = pBox->y2; + if (box_x1 < pBox->x1) box_x1 = pBox->x1; + if (box_x2 > pBox->x2) box_x2 = pBox->x2; + if (box_y1 < pBox->y1) box_y1 = pBox->y1; + if (box_y2 > pBox->y2) box_y2 = pBox->y2; fastDst = TRUE; } } /* Check to see if the region is empty */ - if (box.x1 >= box.x2 || box.y1 >= box.y2) + if (box_x1 >= box_x2 || box_y1 >= box_y2) { REGION_NULL(pGC->pScreen, &rgnDst); } else { + BoxRec box; + box.x1 = box_x1; + box.y1 = box_y1; + box.x2 = box_x2; + box.y2 = box_y2; REGION_INIT(pGC->pScreen, &rgnDst, &box, 1); } diff --git a/fb/fbwindow.c b/fb/fbwindow.c index 9a582c5fc..0b1462f3c 100644 --- a/fb/fbwindow.c +++ b/fb/fbwindow.c @@ -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 diff --git a/hw/darwin/bundle/Swedish.lproj/MainMenu.nib/objects.nib b/hw/darwin/bundle/Swedish.lproj/MainMenu.nib/objects.nib Binary files differindex 230436b31..116e0b316 100644 --- a/hw/darwin/bundle/Swedish.lproj/MainMenu.nib/objects.nib +++ b/hw/darwin/bundle/Swedish.lproj/MainMenu.nib/objects.nib diff --git a/hw/darwin/quartz/quartzCocoa.m b/hw/darwin/quartz/quartzCocoa.m index b63da9662..8c313008b 100644 --- a/hw/darwin/quartz/quartzCocoa.m +++ b/hw/darwin/quartz/quartzCocoa.m @@ -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 diff --git a/hw/darwin/quartz/quartzKeyboard.c b/hw/darwin/quartz/quartzKeyboard.c index 8d580830b..eab86e27e 100644 --- a/hw/darwin/quartz/quartzKeyboard.c +++ b/hw/darwin/quartz/quartzKeyboard.c @@ -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 diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h index a9951e705..65a0e5c7c 100644 --- a/hw/xfree86/common/compiler.h +++ b/hw/xfree86/common/compiler.h @@ -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 diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h index e189e81d2..313d43015 100644 --- a/hw/xfree86/common/xf86.h +++ b/hw/xfree86/common/xf86.h @@ -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; diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c index 159d3de71..7c773fee6 100644 --- a/hw/xfree86/common/xf86AutoConfig.c +++ b/hw/xfree86/common/xf86AutoConfig.c @@ -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" diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c index 2ffbfa964..5e002c8db 100644 --- a/hw/xfree86/common/xf86Bus.c +++ b/hw/xfree86/common/xf86Bus.c @@ -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; } diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c index fc741e01e..fbfa285f6 100644 --- a/hw/xfree86/common/xf86Config.c +++ b/hw/xfree86/common/xf86Config.c @@ -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 diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c index dce27fa63..a0267f8ac 100644 --- a/hw/xfree86/common/xf86DGA.c +++ b/hw/xfree86/common/xf86DGA.c @@ -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 diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c index c6dee3731..a2bb3f504 100644 --- a/hw/xfree86/common/xf86Globals.c +++ b/hw/xfree86/common/xf86Globals.c @@ -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 diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c index 713e7861a..076a97f16 100644 --- a/hw/xfree86/common/xf86Helper.c +++ b/hw/xfree86/common/xf86Helper.c @@ -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; + } + } + + 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->propertyName = property; + 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"); diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c index ce8817096..701397cd9 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c @@ -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"); -#endif - ErrorF("\nXFree86 Version %d.%d.%d", XF86_VERSION_MAJOR, XF86_VERSION_MINOR, - XF86_VERSION_PATCH); + "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 #if XF86_VERSION_SNAP > 0 ErrorF(".%d", XF86_VERSION_SNAP); #endif diff --git a/hw/xfree86/common/xf86Mode.c b/hw/xfree86/common/xf86Mode.c index 392229ce9..459bb2dba 100644 --- a/hw/xfree86/common/xf86Mode.c +++ b/hw/xfree86/common/xf86Mode.c @@ -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; diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h index a46bfc39b..82df2aead 100644 --- a/hw/xfree86/common/xf86Priv.h +++ b/hw/xfree86/common/xf86Priv.h @@ -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 diff --git a/hw/xfree86/common/xf86Privstr.h b/hw/xfree86/common/xf86Privstr.h index 8b0a0f4ce..93d64fd51 100644 --- a/hw/xfree86/common/xf86Privstr.h +++ b/hw/xfree86/common/xf86Privstr.h @@ -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 diff --git a/hw/xfree86/common/xf86RandR.c b/hw/xfree86/common/xf86RandR.c index 165ddf771..f69adbb15 100644 --- a/hw/xfree86/common/xf86RandR.c +++ b/hw/xfree86/common/xf86RandR.c @@ -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) diff --git a/hw/xfree86/common/xf86cmap.c b/hw/xfree86/common/xf86cmap.c index f7cb065a4..c3b09e361 100644 --- a/hw/xfree86/common/xf86cmap.c +++ b/hw/xfree86/common/xf86cmap.c @@ -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 */ diff --git a/hw/xfree86/dixmods/extmod/modinit.h b/hw/xfree86/dixmods/extmod/modinit.h index d909cb483..b574d02f4 100644 --- a/hw/xfree86/dixmods/extmod/modinit.h +++ b/hw/xfree86/dixmods/extmod/modinit.h @@ -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 diff --git a/hw/xfree86/doc/README.fonts b/hw/xfree86/doc/README.fonts index 230e29c78..2fe8dfaac 100644 --- a/hw/xfree86/doc/README.fonts +++ b/hw/xfree86/doc/README.fonts @@ -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 $ diff --git a/hw/xfree86/doc/changelogs/CHANGELOG b/hw/xfree86/doc/changelogs/CHANGELOG index 3e6f9d210..1a8920321 100644 --- a/hw/xfree86/doc/changelogs/CHANGELOG +++ b/hw/xfree86/doc/changelogs/CHANGELOG @@ -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 $ diff --git a/hw/xfree86/doc/sgml/DESIGN.sgml b/hw/xfree86/doc/sgml/DESIGN.sgml index 365acaf1a..864b5c249 100644 --- a/hw/xfree86/doc/sgml/DESIGN.sgml +++ b/hw/xfree86/doc/sgml/DESIGN.sgml @@ -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> diff --git a/hw/xfree86/getconfig/getconfig b/hw/xfree86/getconfig/getconfig index 8cbb18e2e..d2acc9bb8 100644 --- a/hw/xfree86/getconfig/getconfig +++ b/hw/xfree86/getconfig/getconfig @@ -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. diff --git a/hw/xfree86/getconfig/getconfig.pl b/hw/xfree86/getconfig/getconfig.pl index 7ff0b2b6d..fcfd7d057 100644 --- a/hw/xfree86/getconfig/getconfig.pl +++ b/hw/xfree86/getconfig/getconfig.pl @@ -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 diff --git a/hw/xfree86/int10/helper_exec.c b/hw/xfree86/int10/helper_exec.c index 7528fea0e..181ebb157 100644 --- a/hw/xfree86/int10/helper_exec.c +++ b/hw/xfree86/int10/helper_exec.c @@ -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 } diff --git a/hw/xfree86/loader/coffloader.c b/hw/xfree86/loader/coffloader.c index b2fbfcf14..1ba45dd67 100644 --- a/hw/xfree86/loader/coffloader.c +++ b/hw/xfree86/loader/coffloader.c @@ -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__) /* diff --git a/hw/xfree86/loader/extsym.c b/hw/xfree86/loader/extsym.c index 638911aa4..6dc851e40 100644 --- a/hw/xfree86/loader/extsym.c +++ b/hw/xfree86/loader/extsym.c @@ -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) diff --git a/hw/xfree86/loader/fontsym.c b/hw/xfree86/loader/fontsym.c index d91a2e216..1a1324fdb 100644 --- a/hw/xfree86/loader/fontsym.c +++ b/hw/xfree86/loader/fontsym.c @@ -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} }; diff --git a/hw/xfree86/os-support/bsd/alpha_video.c b/hw/xfree86/os-support/bsd/alpha_video.c index aa3313dc3..655ac4a83 100644 --- a/hw/xfree86/os-support/bsd/alpha_video.c +++ b/hw/xfree86/os-support/bsd/alpha_video.c @@ -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; } diff --git a/hw/xfree86/os-support/bsd/bsd_kbd.c b/hw/xfree86/os-support/bsd/bsd_kbd.c index 0d586ef72..3c22eeb4d 100644 --- a/hw/xfree86/os-support/bsd/bsd_kbd.c +++ b/hw/xfree86/os-support/bsd/bsd_kbd.c @@ -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; } diff --git a/hw/xfree86/os-support/bsd/bsd_mouse.c b/hw/xfree86/os-support/bsd/bsd_mouse.c index 943bb9855..bb5936a1e 100644 --- a/hw/xfree86/os-support/bsd/bsd_mouse.c +++ b/hw/xfree86/os-support/bsd/bsd_mouse.c @@ -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; diff --git a/hw/xfree86/os-support/bus/Pci.c b/hw/xfree86/os-support/bus/Pci.c index a0b639143..ab10485ee 100644 --- a/hw/xfree86/os-support/bus/Pci.c +++ b/hw/xfree86/os-support/bus/Pci.c @@ -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: diff --git a/hw/xfree86/os-support/bus/Pci.h b/hw/xfree86/os-support/bus/Pci.h index 74ca95baf..1c819a8c8 100644 --- a/hw/xfree86/os-support/bus/Pci.h +++ b/hw/xfree86/os-support/bus/Pci.h @@ -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 diff --git a/hw/xfree86/os-support/bus/zx1PCI.c b/hw/xfree86/os-support/bus/zx1PCI.c index 31556b5b9..5d4d6a991 100644 --- a/hw/xfree86/os-support/bus/zx1PCI.c +++ b/hw/xfree86/os-support/bus/zx1PCI.c @@ -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", diff --git a/hw/xfree86/os-support/linux/int10/linux.c b/hw/xfree86/os-support/linux/int10/linux.c index 11fe19f67..bacfa9032 100644 --- a/hw/xfree86/os-support/linux/int10/linux.c +++ b/hw/xfree86/os-support/linux/int10/linux.c @@ -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 diff --git a/hw/xfree86/os-support/linux/lnxResource.c b/hw/xfree86/os-support/linux/lnxResource.c index 04e2f07c0..bd038351f 100644 --- a/hw/xfree86/os-support/linux/lnxResource.c +++ b/hw/xfree86/os-support/linux/lnxResource.c @@ -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); diff --git a/hw/xfree86/os-support/misc/SlowBcopy.c b/hw/xfree86/os-support/misc/SlowBcopy.c index 98546b688..a9a8beae7 100644 --- a/hw/xfree86/os-support/misc/SlowBcopy.c +++ b/hw/xfree86/os-support/misc/SlowBcopy.c @@ -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 } diff --git a/hw/xfree86/scanpci/pci.ids b/hw/xfree86/scanpci/pci.ids index eec9d74cc..a172fd690 100644 --- a/hw/xfree86/scanpci/pci.ids +++ b/hw/xfree86/scanpci/pci.ids @@ -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 diff --git a/hw/xfree86/utils/ioport/ioport.c b/hw/xfree86/utils/ioport/ioport.c index 4bb20ef1b..b977936d3 100644 --- a/hw/xfree86/utils/ioport/ioport.c +++ b/hw/xfree86/utils/ioport/ioport.c @@ -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 diff --git a/hw/xfree86/utils/xorgcfg/config.h b/hw/xfree86/utils/xorgcfg/config.h index 0853b67fa..aa38d520f 100644 --- a/hw/xfree86/utils/xorgcfg/config.h +++ b/hw/xfree86/utils/xorgcfg/config.h @@ -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> diff --git a/hw/xfree86/vbe/vbe.h b/hw/xfree86/vbe/vbe.h index 30756119d..3a1b48749 100644 --- a/hw/xfree86/vbe/vbe.h +++ b/hw/xfree86/vbe/vbe.h @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/vbe/vbe.h,v 1.3 2003/11/14 14:58:45 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/vbe/vbe.h,v 1.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) diff --git a/hw/xfree86/vgahw/vgaHW.c b/hw/xfree86/vgahw/vgaHW.c index e1fd9716a..b8bcbdba9 100644 --- a/hw/xfree86/vgahw/vgaHW.c +++ b/hw/xfree86/vgahw/vgaHW.c @@ -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; } /* diff --git a/hw/xfree86/xaa/xaaOverlay.c b/hw/xfree86/xaa/xaaOverlay.c index 9fa1dec41..f7a954103 100644 --- a/hw/xfree86/xaa/xaaOverlay.c +++ b/hw/xfree86/xaa/xaaOverlay.c @@ -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 diff --git a/hw/xfree86/xaa/xaaPaintWin.c b/hw/xfree86/xaa/xaaPaintWin.c index cb6beb77b..0e95b7bbd 100644 --- a/hw/xfree86/xaa/xaaPaintWin.c +++ b/hw/xfree86/xaa/xaaPaintWin.c @@ -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 diff --git a/hw/xfree86/xaa/xaaPict.c b/hw/xfree86/xaa/xaaPict.c index fecbbcfa0..ce72d742c 100644 --- a/hw/xfree86/xaa/xaaPict.c +++ b/hw/xfree86/xaa/xaaPict.c @@ -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)) { diff --git a/hw/xfree86/xf8_32bpp/cfbpntwin.c b/hw/xfree86/xf8_32bpp/cfbpntwin.c index 9730b0d0c..29ab23340 100644 --- a/hw/xfree86/xf8_32bpp/cfbpntwin.c +++ b/hw/xfree86/xf8_32bpp/cfbpntwin.c @@ -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 diff --git a/hw/xwin/winmultiwindowshape.c b/hw/xwin/winmultiwindowshape.c index 5c623d14e..2d6a6f2cc 100755 --- a/hw/xwin/winmultiwindowshape.c +++ b/hw/xwin/winmultiwindowshape.c @@ -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; } diff --git a/hw/xwin/winwindow.c b/hw/xwin/winwindow.c index 6515c8596..76dfc5d89 100644 --- a/hw/xwin/winwindow.c +++ b/hw/xwin/winwindow.c @@ -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; diff --git a/include/globals.h b/include/globals.h index 3eb92f1ec..633ab0c78 100644 --- a/include/globals.h +++ b/include/globals.h @@ -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 diff --git a/mi/miarc.c b/mi/miarc.c index 70b9fde04..420b9ad66 100644 --- a/mi/miarc.c +++ b/mi/miarc.c @@ -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 */ diff --git a/mi/mibank.c b/mi/mibank.c index cc2796edb..11708434c 100644 --- a/mi/mibank.c +++ b/mi/mibank.c @@ -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 diff --git a/mi/mibank.h b/mi/mibank.h index c3aa69379..eac53db20 100644 --- a/mi/mibank.h +++ b/mi/mibank.h @@ -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 diff --git a/mi/miexpose.c b/mi/miexpose.c index 96dd97d1d..f94ab0cdb 100644 --- a/mi/miexpose.c +++ b/mi/miexpose.c @@ -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); diff --git a/mi/miinitext.c b/mi/miinitext.c index bc2dee641..2d2896ef4 100644 --- a/mi/miinitext.c +++ b/mi/miinitext.c @@ -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 }, diff --git a/miext/rootless/safeAlpha/safeAlpha.h b/miext/rootless/safeAlpha/safeAlpha.h index 440a5ecc9..90efec5c8 100644 --- a/miext/rootless/safeAlpha/safeAlpha.h +++ b/miext/rootless/safeAlpha/safeAlpha.h @@ -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); diff --git a/miext/rootless/safeAlpha/safeAlphaPicture.c b/miext/rootless/safeAlpha/safeAlphaPicture.c index ad9360c7e..3c9d39628 100644 --- a/miext/rootless/safeAlpha/safeAlphaPicture.c +++ b/miext/rootless/safeAlpha/safeAlphaPicture.c @@ -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)) diff --git a/miext/rootless/safeAlpha/safeAlphaWindow.c b/miext/rootless/safeAlpha/safeAlphaWindow.c index f5f445f0c..ec1c41435 100644 --- a/miext/rootless/safeAlpha/safeAlphaWindow.c +++ b/miext/rootless/safeAlpha/safeAlphaWindow.c @@ -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" diff --git a/os/access.c b/os/access.c index 77dcebe20..14b61839c 100644 --- a/os/access.c +++ b/os/access.c @@ -45,7 +45,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ******************************************************************/ -/* $XFree86: xc/programs/Xserver/os/access.c,v 3.50 2003/11/03 05:12:00 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/os/access.c,v 3.54 2004/01/03 17:38:39 herrb Exp $ */ #ifdef WIN32 #include <X11/Xwinsock.h> @@ -645,6 +645,20 @@ DefineLocalHost: #include <arpa/inet.h> #endif +#if defined(IPv6) && defined(AF_INET6) +static void +in6_fillscopeid(struct sockaddr_in6 *sin6) +{ +#if defined(__KAME__) + if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) { + sin6->sin6_scope_id = + ntohs(*(u_int16_t *)&sin6->sin6_addr.s6_addr[2]); + sin6->sin6_addr.s6_addr[2] = sin6->sin6_addr.s6_addr[3] = 0; + } +#endif +} +#endif + void DefineSelf (int fd) { @@ -761,6 +775,10 @@ DefineSelf (int fd) #endif /* DNETCONN */ if (family == -1 || family == FamilyLocal) continue; +#if defined(IPv6) && defined(AF_INET6) + if (family == FamilyInternet6) + in6_fillscopeid((struct sockaddr_in6 *)&IFR_IFR_ADDR); +#endif #ifdef DEF_SELF_DEBUG if (family == FamilyInternet) ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %d.%d.%d.%d\n", @@ -898,10 +916,24 @@ DefineSelf (int fd) family = ConvertAddr(ifr->ifa_addr, &len, (pointer *)&addr); if (family == -1 || family == FamilyLocal) continue; +#if defined(IPv6) && defined(AF_INET6) + if (family == FamilyInternet6) + in6_fillscopeid((struct sockaddr_in6 *)ifr->ifa_addr); +#endif + #ifdef DEF_SELF_DEBUG if (family == FamilyInternet) ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %d.%d.%d.%d\n", ifr->ifa_name, addr[0], addr[1], addr[2], addr[3]); +#if defined(IPv6) && defined(AF_INET6) + else if (family == FamilyInternet6) { + char cp[INET6_ADDRSTRLEN]; + + inet_ntop(AF_INET6, addr, cp, sizeof(cp)); + ErrorF("Xserver: DefineSelf(): ifname = %s addr = %s\n", + ifr->ifa_name, cp); + } +#endif #endif /* DEF_SELF_DEBUG */ for (host = selfhosts; host != NULL && !addrEqual(family, addr, len, host); @@ -923,17 +955,34 @@ DefineSelf (int fd) /* * If this isn't an Internet Address, don't register it. */ - if (family != FamilyInternet) + if (family != FamilyInternet +#if defined(IPv6) && defined(AF_INET6) + && family != FamilyInternet6 +#endif + ) continue; /* - * ignore 'localhost' entries as they're not usefule + * ignore 'localhost' entries as they're not useful * on the other end of the wire */ - if (len == 4 && + 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; diff --git a/os/utils.c b/os/utils.c index c10fad5ae..654c8bc7e 100644 --- a/os/utils.c +++ b/os/utils.c @@ -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) diff --git a/os/xdmcp.c b/os/xdmcp.c index a949d2d10..6ffaa3f24 100644 --- a/os/xdmcp.c +++ b/os/xdmcp.c @@ -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); diff --git a/record/record.c b/record/record.c index 59e90cb30..46f0fa525 100644 --- a/record/record.c +++ b/record/record.c @@ -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 */ diff --git a/render/picturestr.h b/render/picturestr.h index 7620c59a5..9c2a08b03 100644 --- a/render/picturestr.h +++ b/render/picturestr.h @@ -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_ */ diff --git a/render/render.c b/render/render.c index ff5346c66..781c3b8de 100644 --- a/render/render.c +++ b/render/render.c @@ -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++) diff --git a/xkb/ddxFakeMtn.c b/xkb/ddxFakeMtn.c index a9137a0de..89b9d40b3 100644 --- a/xkb/ddxFakeMtn.c +++ b/xkb/ddxFakeMtn.c @@ -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 @@ -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; diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c index 403c2fb89..853a8c426 100644 --- a/xkb/xkbActions.c +++ b/xkb/xkbActions.c @@ -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); diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c index 064311d5e..6ed146494 100644 --- a/xkb/xkbInit.c +++ b/xkb/xkbInit.c @@ -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; |