3. Added missing parts to XKB to make XEVIE branch compile (Egbert Eich).
2. Merged with XORG-CURRENT branch to obtain a bugfix (Egbert Eich). 1. First add of SUN's XIVIE extension (Stuart Kreitman).
This commit is contained in:
parent
b58d2e37a7
commit
c6c51e2b3b
36
Xext/saver.c
36
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);
|
||||
}
|
||||
|
|
34
Xext/shape.c
34
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
|
||||
|
|
46
Xext/shm.c
46
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);
|
||||
|
|
20
Xext/xtest.c
20
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())
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
231
dix/events.c
231
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;
|
||||
|
|
18
dix/main.c
18
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();
|
||||
|
|
|
@ -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;
|
||||
|
|
40
dix/window.c
40
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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
54
fb/fbcopy.c
54
fb/fbcopy.c
|
@ -21,7 +21,7 @@
|
|||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.13 2003/11/10 18:21:47 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.14 2003/12/28 17:22:25 alanh Exp $ */
|
||||
|
||||
#include "fb.h"
|
||||
#ifdef IN_MODULE
|
||||
|
@ -398,7 +398,10 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
|||
int dx;
|
||||
int dy;
|
||||
int numRects;
|
||||
BoxRec box;
|
||||
int box_x1;
|
||||
int box_y1;
|
||||
int box_x2;
|
||||
int box_y2;
|
||||
Bool fastSrc = FALSE; /* for fast clipping with pixmap source */
|
||||
Bool fastDst = FALSE; /* for fast clipping with one rect dest */
|
||||
Bool fastExpose = FALSE; /* for fast exposures with pixmap source */
|
||||
|
@ -466,10 +469,10 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
|||
xOut += pDstDrawable->x;
|
||||
yOut += pDstDrawable->y;
|
||||
|
||||
box.x1 = xIn;
|
||||
box.y1 = yIn;
|
||||
box.x2 = xIn + widthSrc;
|
||||
box.y2 = yIn + heightSrc;
|
||||
box_x1 = xIn;
|
||||
box_y1 = yIn;
|
||||
box_x2 = xIn + widthSrc;
|
||||
box_y2 = yIn + heightSrc;
|
||||
|
||||
dx = xIn - xOut;
|
||||
dy = yIn - yOut;
|
||||
|
@ -484,32 +487,32 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
|||
* clip the source; if regions extend beyond the source size,
|
||||
* make sure exposure events get sent
|
||||
*/
|
||||
if (box.x1 < pSrcDrawable->x)
|
||||
if (box_x1 < pSrcDrawable->x)
|
||||
{
|
||||
box.x1 = pSrcDrawable->x;
|
||||
box_x1 = pSrcDrawable->x;
|
||||
fastExpose = FALSE;
|
||||
}
|
||||
if (box.y1 < pSrcDrawable->y)
|
||||
if (box_y1 < pSrcDrawable->y)
|
||||
{
|
||||
box.y1 = pSrcDrawable->y;
|
||||
box_y1 = pSrcDrawable->y;
|
||||
fastExpose = FALSE;
|
||||
}
|
||||
if (box.x2 > pSrcDrawable->x + (int) pSrcDrawable->width)
|
||||
if (box_x2 > pSrcDrawable->x + (int) pSrcDrawable->width)
|
||||
{
|
||||
box.x2 = pSrcDrawable->x + (int) pSrcDrawable->width;
|
||||
box_x2 = pSrcDrawable->x + (int) pSrcDrawable->width;
|
||||
fastExpose = FALSE;
|
||||
}
|
||||
if (box.y2 > pSrcDrawable->y + (int) pSrcDrawable->height)
|
||||
if (box_y2 > pSrcDrawable->y + (int) pSrcDrawable->height)
|
||||
{
|
||||
box.y2 = pSrcDrawable->y + (int) pSrcDrawable->height;
|
||||
box_y2 = pSrcDrawable->y + (int) pSrcDrawable->height;
|
||||
fastExpose = FALSE;
|
||||
}
|
||||
|
||||
/* Translate and clip the dst to the destination composite clip */
|
||||
box.x1 -= dx;
|
||||
box.x2 -= dx;
|
||||
box.y1 -= dy;
|
||||
box.y2 -= dy;
|
||||
box_x1 -= dx;
|
||||
box_x2 -= dx;
|
||||
box_y1 -= dy;
|
||||
box_y2 -= dy;
|
||||
|
||||
/* If the destination composite clip is one rectangle we can
|
||||
do the clip directly. Otherwise we have to create a full
|
||||
|
@ -520,21 +523,26 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
|||
{
|
||||
BoxPtr pBox = REGION_RECTS(cclip);
|
||||
|
||||
if (box.x1 < pBox->x1) box.x1 = pBox->x1;
|
||||
if (box.x2 > pBox->x2) box.x2 = pBox->x2;
|
||||
if (box.y1 < pBox->y1) box.y1 = pBox->y1;
|
||||
if (box.y2 > pBox->y2) box.y2 = pBox->y2;
|
||||
if (box_x1 < pBox->x1) box_x1 = pBox->x1;
|
||||
if (box_x2 > pBox->x2) box_x2 = pBox->x2;
|
||||
if (box_y1 < pBox->y1) box_y1 = pBox->y1;
|
||||
if (box_y2 > pBox->y2) box_y2 = pBox->y2;
|
||||
fastDst = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* Check to see if the region is empty */
|
||||
if (box.x1 >= box.x2 || box.y1 >= box.y2)
|
||||
if (box_x1 >= box_x2 || box_y1 >= box_y2)
|
||||
{
|
||||
REGION_NULL(pGC->pScreen, &rgnDst);
|
||||
}
|
||||
else
|
||||
{
|
||||
BoxRec box;
|
||||
box.x1 = box_x1;
|
||||
box.y1 = box_y1;
|
||||
box.x2 = box_x2;
|
||||
box.y2 = box_y2;
|
||||
REGION_INIT(pGC->pScreen, &rgnDst, &box, 1);
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Binary file not shown.
|
@ -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
|
||||
|
|
|
@ -32,9 +32,7 @@
|
|||
promote the sale, use or other dealings in this Software without
|
||||
prior written authorization.
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartzKeyboard.c,v 1.1 2003/11/01 08:13:08 torrey Exp $ */
|
||||
|
||||
#ifdef HAS_KL_API
|
||||
/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartzKeyboard.c,v 1.2 2004/01/19 01:22:47 torrey Exp $ */
|
||||
|
||||
#include "quartzCommon.h"
|
||||
|
||||
|
@ -45,6 +43,8 @@
|
|||
#include "keysym.h"
|
||||
#include "keysym2ucs.h"
|
||||
|
||||
#ifdef HAS_KL_API
|
||||
|
||||
#define HACK_MISSING 1
|
||||
#define HACK_KEYPAD 1
|
||||
|
||||
|
|
|
@ -1,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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Globals.c,v 1.41 2003/08/24 17:36:52 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Globals.c,v 1.42 2004/01/27 01:31:44 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||
|
@ -236,7 +236,7 @@ Bool xf86VidModeAllowNonLocal = FALSE;
|
|||
Bool xf86MiscModInDevDisabled = FALSE;
|
||||
Bool xf86MiscModInDevAllowNonLocal = FALSE;
|
||||
#endif
|
||||
PropertyPtr *xf86RegisteredPropertiesTable = NULL;
|
||||
RootWinPropPtr *xf86RegisteredPropertiesTable = NULL;
|
||||
Bool xf86inSuspend = FALSE;
|
||||
|
||||
#ifdef DLOPEN_HACK
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Helper.c,v 1.135 2003/10/08 14:58:27 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Helper.c,v 1.136 2004/01/27 01:31:45 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||
|
@ -2888,11 +2888,12 @@ int
|
|||
xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
||||
int format, unsigned long len, pointer value )
|
||||
{
|
||||
PropertyPtr pNewProp, pRegProp;
|
||||
RootWinPropPtr pNewProp = NULL, pRegProp;
|
||||
int i;
|
||||
Bool existing = FALSE;
|
||||
|
||||
#ifdef DEBUG
|
||||
ErrorF("xf86RegisterRootWindowProperty(%d, %d, %d, %d, %d, %p)\n",
|
||||
ErrorF("xf86RegisterRootWindowProperty(%d, %ld, %ld, %d, %ld, %p)\n",
|
||||
ScrnIndex, property, type, format, len, value);
|
||||
#endif
|
||||
|
||||
|
@ -2900,19 +2901,35 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
|||
return(BadMatch);
|
||||
}
|
||||
|
||||
if ( (pNewProp = (PropertyPtr)xalloc(sizeof(PropertyRec)))==NULL ) {
|
||||
return(BadAlloc);
|
||||
if (xf86RegisteredPropertiesTable &&
|
||||
xf86RegisteredPropertiesTable[ScrnIndex]) {
|
||||
for (pNewProp = xf86RegisteredPropertiesTable[ScrnIndex];
|
||||
pNewProp; pNewProp = pNewProp->next) {
|
||||
if (strcmp(pNewProp->name, NameForAtom(property)) == 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
pNewProp->propertyName = property;
|
||||
if (!pNewProp) {
|
||||
if ((pNewProp = (RootWinPropPtr)xalloc(sizeof(RootWinProp))) == NULL) {
|
||||
return(BadAlloc);
|
||||
}
|
||||
/*
|
||||
* We will put this property at the end of the list so that
|
||||
* the changes are made in the order they were requested.
|
||||
*/
|
||||
pNewProp->next = NULL;
|
||||
} else {
|
||||
if (pNewProp->name)
|
||||
xfree(pNewProp->name);
|
||||
existing = TRUE;
|
||||
}
|
||||
|
||||
pNewProp->name = xnfstrdup(NameForAtom(property));
|
||||
pNewProp->type = type;
|
||||
pNewProp->format = format;
|
||||
pNewProp->size = len;
|
||||
pNewProp->data = value;
|
||||
/* We will put this property at the end of the list so that
|
||||
* the changes are made in the order they were requested.
|
||||
*/
|
||||
pNewProp->next = NULL;
|
||||
|
||||
#ifdef DEBUG
|
||||
ErrorF("new property filled\n");
|
||||
|
@ -2923,7 +2940,7 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
|||
ErrorF("creating xf86RegisteredPropertiesTable[] size %d\n",
|
||||
xf86NumScreens);
|
||||
#endif
|
||||
if ( NULL==(xf86RegisteredPropertiesTable=(PropertyPtr*)xnfcalloc(sizeof(PropertyPtr),xf86NumScreens) )) {
|
||||
if ( NULL==(xf86RegisteredPropertiesTable=(RootWinPropPtr*)xnfcalloc(sizeof(RootWinProp),xf86NumScreens) )) {
|
||||
return(BadAlloc);
|
||||
}
|
||||
for (i=0; i<xf86NumScreens; i++) {
|
||||
|
@ -2933,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");
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Init.c,v 3.211 2003/11/01 00:47:01 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Init.c,v 3.212 2004/01/27 01:31:45 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Loosely based on code bearing the following copyright:
|
||||
|
@ -155,7 +155,7 @@ xf86CreateRootWindow(WindowPtr pWin)
|
|||
int ret = TRUE;
|
||||
int err = Success;
|
||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||
PropertyPtr pRegProp, pOldRegProp;
|
||||
RootWinPropPtr pProp;
|
||||
CreateWindowProcPtr CreateWindow =
|
||||
(CreateWindowProcPtr)(pScreen->devPrivates[xf86CreateRootWindowIndex].ptr);
|
||||
|
||||
|
@ -181,25 +181,19 @@ xf86CreateRootWindow(WindowPtr pWin)
|
|||
}
|
||||
|
||||
/* Now do our stuff */
|
||||
|
||||
if (xf86RegisteredPropertiesTable != NULL) {
|
||||
if (pWin->parent == NULL && xf86RegisteredPropertiesTable != NULL) {
|
||||
for (pRegProp = xf86RegisteredPropertiesTable[pScreen->myNum];
|
||||
pRegProp != NULL && err==Success;
|
||||
pRegProp = pRegProp->next )
|
||||
for (pProp = xf86RegisteredPropertiesTable[pScreen->myNum];
|
||||
pProp != NULL && err==Success;
|
||||
pProp = pProp->next )
|
||||
{
|
||||
Atom oldNameAtom = pRegProp->propertyName;
|
||||
char *nameString;
|
||||
/* propertyName was created before the screen existed,
|
||||
* so the atom does not belong to any screen;
|
||||
* we need to create a new atom with the same name.
|
||||
*/
|
||||
nameString = NameForAtom(oldNameAtom);
|
||||
pRegProp->propertyName = MakeAtom(nameString, strlen(nameString), TRUE);
|
||||
Atom prop;
|
||||
|
||||
prop = MakeAtom(pProp->name, strlen(pProp->name), TRUE);
|
||||
err = ChangeWindowProperty(pWin,
|
||||
pRegProp->propertyName, pRegProp->type,
|
||||
pRegProp->format, PropModeReplace,
|
||||
pRegProp->size, pRegProp->data,
|
||||
prop, pProp->type,
|
||||
pProp->format, PropModeReplace,
|
||||
pProp->size, pProp->data,
|
||||
FALSE
|
||||
);
|
||||
}
|
||||
|
@ -207,14 +201,6 @@ xf86CreateRootWindow(WindowPtr pWin)
|
|||
/* Look at err */
|
||||
ret &= (err==Success);
|
||||
|
||||
/* free memory */
|
||||
pOldRegProp = xf86RegisteredPropertiesTable[pScreen->myNum];
|
||||
while (pOldRegProp!=NULL) {
|
||||
pRegProp = pOldRegProp->next;
|
||||
xfree(pOldRegProp);
|
||||
pOldRegProp = pRegProp;
|
||||
}
|
||||
xf86RegisteredPropertiesTable[pScreen->myNum] = NULL;
|
||||
} else {
|
||||
xf86Msg(X_ERROR, "xf86CreateRootWindow unexpectedly called with "
|
||||
"non-root window %p (parent %p)\n",
|
||||
|
@ -303,7 +289,6 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
|
|||
xf86ScreenIndex = AllocateScreenPrivateIndex();
|
||||
xf86CreateRootWindowIndex = AllocateScreenPrivateIndex();
|
||||
xf86PixmapIndex = AllocatePixmapPrivateIndex();
|
||||
xf86RegisteredPropertiesTable=NULL;
|
||||
generation = serverGeneration;
|
||||
}
|
||||
|
||||
|
@ -749,6 +734,32 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
|
|||
}
|
||||
formatsDone = TRUE;
|
||||
|
||||
if (xf86Info.vtno >= 0 ) {
|
||||
#define VT_ATOM_NAME "XFree86_VT"
|
||||
Atom VTAtom=-1;
|
||||
CARD32 *VT = NULL;
|
||||
int ret;
|
||||
|
||||
/* This memory needs to stay available until the screen has been
|
||||
initialized, and we can create the property for real.
|
||||
*/
|
||||
if ( (VT = xalloc(sizeof(CARD32)))==NULL ) {
|
||||
FatalError("Unable to make VT property - out of memory. Exiting...\n");
|
||||
}
|
||||
*VT = xf86Info.vtno;
|
||||
|
||||
VTAtom = MakeAtom(VT_ATOM_NAME, sizeof(VT_ATOM_NAME), TRUE);
|
||||
|
||||
for (i = 0, ret = Success; i < xf86NumScreens && ret == Success; i++) {
|
||||
ret = xf86RegisterRootWindowProperty(xf86Screens[i]->scrnIndex,
|
||||
VTAtom, XA_INTEGER, 32,
|
||||
1, VT );
|
||||
if (ret != Success)
|
||||
xf86DrvMsg(xf86Screens[i]->scrnIndex, X_WARNING,
|
||||
"Failed to register VT property\n");
|
||||
}
|
||||
}
|
||||
|
||||
/* If a screen uses depth 24, show what the pixmap format is */
|
||||
for (i = 0; i < xf86NumScreens; i++) {
|
||||
if (xf86Screens[i]->depth == 24) {
|
||||
|
@ -1251,8 +1262,8 @@ AbortDDX()
|
|||
void
|
||||
OsVendorFatalError()
|
||||
{
|
||||
ErrorF("\nWhen reporting a problem related to a server crash, please send\n"
|
||||
"the full server output, not just the last messages.\n");
|
||||
ErrorF("\nWhen reporting a problem related to a server crash, please\n"
|
||||
"send the full server output, not just the last messages.\n");
|
||||
if (xf86LogFile && xf86LogFileWasOpened)
|
||||
ErrorF("This can be found in the log file \"%s\".\n", xf86LogFile);
|
||||
ErrorF("Please report problems to %s.\n", BUILDERADDR);
|
||||
|
@ -1703,14 +1714,15 @@ xf86PrintBanner()
|
|||
{
|
||||
#if PRE_RELEASE
|
||||
ErrorF("\n"
|
||||
"This is a pre-release version of XFree86, and is not supported in any\n"
|
||||
"way. Bugs may be reported to XFree86@XFree86.Org and patches submitted\n"
|
||||
"to fixes@XFree86.Org. Before reporting bugs in pre-release versions,\n"
|
||||
"please check the latest version in the XFree86 CVS repository\n"
|
||||
"(http://www.XFree86.Org/cvs).\n");
|
||||
"This is a pre-release version of the X.org Foundation's X11.\n"
|
||||
"Portions of this release are based on XFree86 4.4RC2 and selected\n"
|
||||
"files from XFree86 4.4RC3. It is not supported in any way.\n"
|
||||
"Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.\n"
|
||||
"Select the \"xorg\" product for bugs you find in this release.\n"
|
||||
"Before reporting bugs in pre-release versions please check the\n"
|
||||
"latest version in the X.org Foundation \"monolithic tree\" CVS\n"
|
||||
"repository hosted at http://www.freedesktop.org/Software/xorg/");
|
||||
#endif
|
||||
ErrorF("\nXFree86 Version %d.%d.%d", XF86_VERSION_MAJOR, XF86_VERSION_MINOR,
|
||||
XF86_VERSION_PATCH);
|
||||
#if XF86_VERSION_SNAP > 0
|
||||
ErrorF(".%d", XF86_VERSION_SNAP);
|
||||
#endif
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Priv.h,v 3.82 2003/09/09 03:20:36 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Priv.h,v 3.83 2004/01/27 01:31:45 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2002 by The XFree86 Project, Inc.
|
||||
|
@ -113,6 +113,8 @@ extern int xf86LogVerbose; /* log file verbosity level */
|
|||
extern Bool xf86ProbeOnly;
|
||||
extern Bool xf86DoProbe;
|
||||
|
||||
extern RootWinPropPtr *xf86RegisteredPropertiesTable;
|
||||
|
||||
#ifndef DEFAULT_VERBOSE
|
||||
#define DEFAULT_VERBOSE 0
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Privstr.h,v 1.40 2003/10/17 20:02:12 alanh Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Privstr.h,v 1.41 2004/01/27 01:31:45 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||
|
@ -198,6 +198,16 @@ typedef struct {
|
|||
} VidModeRec, *VidModePtr;
|
||||
#endif
|
||||
|
||||
/* Information for root window properties. */
|
||||
typedef struct _RootWinProp {
|
||||
struct _RootWinProp * next;
|
||||
char * name;
|
||||
Atom type;
|
||||
short format;
|
||||
long size;
|
||||
pointer data;
|
||||
} RootWinProp, *RootWinPropPtr;
|
||||
|
||||
/* private resource types */
|
||||
#define ResNoAvoid ResBios
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -987,23 +987,28 @@ earlier in this document.
|
|||
|
||||
The `X-TrueType' backend is a backend based on version 1 of the FreeType
|
||||
library. X-TrueType doesn't use the `fontenc' layer for managing font encod-
|
||||
ings, but instead uses its own database of encodings. Since the functionali-
|
||||
ties for CJKV support introduced by X-TT have been merged into the new
|
||||
FreeType backend, the X-TT backend will be removed from XFree86's tree near
|
||||
the future. Therefore, the use of FreeType backend is preferred over the X-
|
||||
TT backend. General information on X-TrueType may be found at ."
|
||||
ings, but instead uses its own database of encodings.
|
||||
|
||||
Since the functionalities for CJKV support introduced by X-TT have been
|
||||
merged into the new FreeType backend, the X-TT backend will be removed from
|
||||
XFree86's tree near the future. Therefore, the use of FreeType backend is
|
||||
preferred over the X-TT backend.
|
||||
|
||||
General information on X-TrueType may be found at the After X-TT Project page
|
||||
<URL:http://x-tt.sourceforge.jp/>.
|
||||
|
||||
4.2.3 Delayed glyph rasterisation
|
||||
|
||||
When loading a large character set, the old FreeType delayed glyph rasterisa-
|
||||
tion until the time at which the glyph was first used. The new FreeType
|
||||
(libfreetype-xtt2) has an improved `very lazy' metric calculation method to
|
||||
speed up the process when loading TrueType or OpenType fonts. Although the
|
||||
X-TT module also has this method, the "vl=y" TTCap option must be set if you
|
||||
want to use it. This is the default method for FreeType when it loads multi-
|
||||
byte fonts. Even if you use a unicode font which has tens of thousands of
|
||||
glyphs, this delay will not be worrisome as long as you use the new FreeType
|
||||
backend -- its `very lazy' method is super-fast.
|
||||
When loading a proportional fonts which contain a huge number of glyphs, the
|
||||
old FreeType delayed glyph rasterisation until the time at which the glyph
|
||||
was first used. The new FreeType (libfreetype-xtt2) has an improved `very
|
||||
lazy' metric calculation method to speed up the process when loading TrueType
|
||||
or OpenType fonts. Although the X-TT module also has this method, the
|
||||
"vl=y" TTCap option must be set if you want to use it. This is the default
|
||||
method for FreeType when it loads multi-byte fonts. Even if you use a uni-
|
||||
code font which has tens of thousands of glyphs, this delay will not be wor-
|
||||
risome as long as you use the new FreeType backend -- its `very lazy' method
|
||||
is super-fast.
|
||||
|
||||
The maximum error of bitmap position using `very lazy' method is 1 pixel, and
|
||||
is the same as that of a character-cell spacing. When the X-TT backend is
|
||||
|
@ -1176,7 +1181,7 @@ The IANA RFC documents, available from a number of sites throughout the
|
|||
world, often provide interesting information about character set issues; see
|
||||
for example RFC 373.
|
||||
|
||||
Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml,v 1.23 dawes Exp $
|
||||
Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml,v 1.24 dawes Exp $
|
||||
|
||||
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.fonts,v 1.27 2003/11/24 01:57:56 dawes Exp $
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.fonts,v 1.28 2003/12/20 19:47:28 dawes Exp $
|
||||
|
|
|
@ -1,4 +1,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 $
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -25,9 +25,9 @@
|
|||
|
||||
<article>
|
||||
|
||||
<title>XFree86 X server ``New Design'' (DRAFT)
|
||||
<title>XFree86 server 4.x Design (DRAFT)
|
||||
<author>The XFree86 Project, Inc
|
||||
<date>Last modified 2003 January 22
|
||||
<date>19 December 2003
|
||||
|
||||
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
|||
|
||||
|
||||
<ident>
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.53 2003/08/23 14:10:14 dawes Exp $
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.54 2003/12/19 20:38:57 dawes Exp $
|
||||
</ident>
|
||||
|
||||
|
||||
|
|
|
@ -1,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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/helper_exec.c,v 1.26 2003/11/06 18:38:12 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/helper_exec.c,v 1.27 2003/12/23 22:32:38 tsi Exp $ */
|
||||
/*
|
||||
* XFree86 int10 module
|
||||
* execute BIOS int 10h calls in x86 real mode environment
|
||||
|
@ -56,7 +56,7 @@ setup_int(xf86Int10InfoPtr pInt)
|
|||
X86_GS = 0;
|
||||
X86_EFLAGS = X86_IF_MASK | X86_IOPL_MASK;
|
||||
#if defined (_PC)
|
||||
if (pInt->flags & SET_BIOS_SCRATCH)
|
||||
if (pInt->Flags & SET_BIOS_SCRATCH)
|
||||
SetResetBIOSVars(pInt, TRUE);
|
||||
#endif
|
||||
return xf86BlockSIGIO();
|
||||
|
@ -76,7 +76,7 @@ finish_int(xf86Int10InfoPtr pInt, int sig)
|
|||
pInt->bp = (CARD32) X86_EBP;
|
||||
pInt->flags = (CARD32) X86_FLAGS;
|
||||
#if defined (_PC)
|
||||
if (pInt->flags & RESTORE_BIOS_SCRATCH)
|
||||
if (pInt->Flags & RESTORE_BIOS_SCRATCH)
|
||||
SetResetBIOSVars(pInt, FALSE);
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/coffloader.c,v 1.21 2003/10/15 17:40:15 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/coffloader.c,v 1.22 2003/12/22 17:48:11 tsi Exp $ */
|
||||
|
||||
/*
|
||||
*
|
||||
|
@ -133,7 +133,9 @@ static COFFCommonPtr COFFAddCOMMON(SYMENT *, int);
|
|||
static LOOKUP *COFFCreateCOMMON(COFFModulePtr);
|
||||
static COFFRelocPtr COFFDelayRelocation(COFFModulePtr, int, RELOC *);
|
||||
static SYMENT *COFFGetSymbol(COFFModulePtr, int);
|
||||
#if defined(i386) || defined(__powerpc__)
|
||||
static unsigned char *COFFGetSymbolValue(COFFModulePtr, int);
|
||||
#endif
|
||||
static COFFRelocPtr COFF_RelocateEntry(COFFModulePtr, int, RELOC *);
|
||||
static LOOKUP *COFF_GetSymbols(COFFModulePtr);
|
||||
static void COFFCollectSections(COFFModulePtr);
|
||||
|
@ -298,6 +300,7 @@ COFFGetSymbol(COFFModulePtr file, int index)
|
|||
return (SYMENT *) (((unsigned char *)file->symtab) + (index * SYMESZ));
|
||||
}
|
||||
|
||||
#if defined(i386) || defined(__powerpc__)
|
||||
static unsigned char *
|
||||
COFFGetSymbolValue(COFFModulePtr cofffile, int index)
|
||||
{
|
||||
|
@ -323,6 +326,7 @@ COFFGetSymbolValue(COFFModulePtr cofffile, int index)
|
|||
xf86loaderfree(symname);
|
||||
return symval;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(__powerpc__)
|
||||
/*
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $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)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/fontsym.c,v 1.13 2003/10/15 16:29:04 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/fontsym.c,v 1.14 2003/12/20 20:04:34 dawes Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1998-2002 by The XFree86 Project, Inc.
|
||||
*
|
||||
|
@ -37,8 +37,10 @@
|
|||
#include "fntfil.h"
|
||||
#include "fontutil.h"
|
||||
#include "fontxlfd.h"
|
||||
#ifdef FONTCACHE
|
||||
#define _FONTCACHE_SERVER_
|
||||
#include "fontcache.h"
|
||||
#endif
|
||||
|
||||
LOOKUP fontLookupTab[] = {
|
||||
|
||||
|
@ -89,6 +91,7 @@ LOOKUP fontLookupTab[] = {
|
|||
SYMFUNC(identifyEncodingFile)
|
||||
#endif
|
||||
|
||||
#ifdef FONTCACHE
|
||||
/* fontcache.c */
|
||||
SYMFUNC(FontCacheGetSettings)
|
||||
SYMFUNC(FontCacheGetStatistics)
|
||||
|
@ -99,6 +102,7 @@ LOOKUP fontLookupTab[] = {
|
|||
SYMFUNC(FontCacheGetEntry)
|
||||
SYMFUNC(FontCacheInsertEntry)
|
||||
SYMFUNC(FontCacheGetBitmap)
|
||||
#endif
|
||||
|
||||
{0, 0}
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.5 2003/04/03 16:50:04 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.6 2003/12/30 15:18:30 herrb Exp $ */
|
||||
/*
|
||||
* Copyright 1992 by Rich Murphey <Rich@Rice.edu>
|
||||
* Copyright 1993 by David Wexelblat <dwex@goblin.org>
|
||||
|
@ -121,7 +121,7 @@ static struct alpha_bus_window *abw;
|
|||
static int abw_count = -1;
|
||||
|
||||
static void
|
||||
init_abw()
|
||||
init_abw(void)
|
||||
{
|
||||
if (abw_count < 0) {
|
||||
abw_count = alpha_bus_getwindows(ALPHA_BUS_TYPE_PCI_MEM, &abw);
|
||||
|
@ -142,7 +142,7 @@ has_bwx(void)
|
|||
}
|
||||
|
||||
static unsigned long
|
||||
dense_base()
|
||||
dense_base(void)
|
||||
{
|
||||
if (abw_count < 0)
|
||||
init_abw();
|
||||
|
@ -154,7 +154,7 @@ dense_base()
|
|||
}
|
||||
|
||||
static unsigned long
|
||||
memory_base()
|
||||
memory_base(void)
|
||||
{
|
||||
if (abw_count < 0)
|
||||
init_abw();
|
||||
|
@ -284,11 +284,13 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem)
|
|||
xf86Msg(X_PROBED,"Machine needs sparse mapping\n");
|
||||
pVidMem->mapMem = mapVidMemSparse;
|
||||
pVidMem->unmapMem = unmapVidMemSparse;
|
||||
#ifndef __NetBSD__
|
||||
if (axpSystem == -1)
|
||||
axpSystem = bsdGetAXP();
|
||||
hae_thresh = xf86AXPParams[axpSystem].hae_thresh;
|
||||
hae_mask = xf86AXPParams[axpSystem].hae_mask;
|
||||
sparse_size = xf86AXPParams[axpSystem].size;
|
||||
#endif /* __NetBSD__ */
|
||||
}
|
||||
pVidMem->initialised = TRUE;
|
||||
}
|
||||
|
@ -314,7 +316,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
|
|||
MAP_FLAGS, devMemFd, (off_t)Base + BUS_BASE_BWX);
|
||||
if (base == MAP_FAILED)
|
||||
{
|
||||
FatalError("%s: could not mmap %s [s=%x,a=%x] (%s)\n",
|
||||
FatalError("%s: could not mmap %s [s=%lx,a=%lx] (%s)\n",
|
||||
"xf86MapVidMem", DEV_MEM, Size, Base,
|
||||
strerror(errno));
|
||||
}
|
||||
|
@ -324,7 +326,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
|
|||
/* else, mmap /dev/vga */
|
||||
if ((unsigned long)Base < 0xA0000 || (unsigned long)Base >= 0xC0000)
|
||||
{
|
||||
FatalError("%s: Address 0x%x outside allowable range\n",
|
||||
FatalError("%s: Address 0x%lx outside allowable range\n",
|
||||
"xf86MapVidMem", Base);
|
||||
}
|
||||
base = mmap(0, Size,
|
||||
|
@ -372,7 +374,7 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
|
|||
if ((long)ptr == -1)
|
||||
{
|
||||
xf86Msg(X_WARNING,
|
||||
"xf86ReadBIOS: %s mmap[s=%x,a=%x,o=%x] failed (%s)\n",
|
||||
"xf86ReadBIOS: %s mmap[s=%x,a=%lx,o=%lx] failed (%s)\n",
|
||||
DEV_MEM, Len, Base, Offset, strerror(errno));
|
||||
return(-1);
|
||||
}
|
||||
|
@ -446,7 +448,9 @@ xf86EnableInterrupts()
|
|||
|
||||
#define vuip volatile unsigned int *
|
||||
|
||||
#ifndef __NetBSD__
|
||||
static unsigned long msb_set = 0;
|
||||
#endif
|
||||
static pointer memSBase = 0;
|
||||
static pointer memBase = 0;
|
||||
|
||||
|
@ -490,6 +494,7 @@ struct parms {
|
|||
u_int64_t hae;
|
||||
};
|
||||
|
||||
#ifndef __NetBSD__
|
||||
static int
|
||||
sethae(u_int64_t hae)
|
||||
{
|
||||
|
@ -505,6 +510,7 @@ sethae(u_int64_t hae)
|
|||
return -1;
|
||||
#endif
|
||||
}
|
||||
#endif /* __NetBSD__ */
|
||||
|
||||
static pointer
|
||||
mapVidMemSparse(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
|
||||
|
@ -552,11 +558,13 @@ static int
|
|||
readSparse8(pointer Base, register unsigned long Offset)
|
||||
{
|
||||
register unsigned long result, shift;
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
|
||||
#endif
|
||||
mem_barrier();
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
shift = (Offset & 0x3) << 3;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -565,7 +573,7 @@ readSparse8(pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
result = *(vuip) ((unsigned long)memSBase + (Offset << 5));
|
||||
result >>= shift;
|
||||
return 0xffUL & result;
|
||||
|
@ -575,11 +583,14 @@ static int
|
|||
readSparse16(pointer Base, register unsigned long Offset)
|
||||
{
|
||||
register unsigned long result, shift;
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
|
||||
mem_barrier();
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
shift = (Offset & 0x2) << 3;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -588,6 +599,7 @@ readSparse16(pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
result = *(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2)));
|
||||
result >>= shift;
|
||||
return 0xffffUL & result;
|
||||
|
@ -603,11 +615,14 @@ readSparse32(pointer Base, register unsigned long Offset)
|
|||
static void
|
||||
writeSparse8(int Value, pointer Base, register unsigned long Offset)
|
||||
{
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
register unsigned int b = Value & 0xffU;
|
||||
|
||||
write_mem_barrier();
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -616,17 +631,21 @@ writeSparse8(int Value, pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
|
||||
}
|
||||
|
||||
static void
|
||||
writeSparse16(int Value, pointer Base, register unsigned long Offset)
|
||||
{
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
register unsigned int w = Value & 0xffffU;
|
||||
|
||||
write_mem_barrier();
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -635,6 +654,7 @@ writeSparse16(int Value, pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
|
||||
w * 0x00010001;
|
||||
|
||||
|
@ -651,10 +671,13 @@ writeSparse32(int Value, pointer Base, register unsigned long Offset)
|
|||
static void
|
||||
writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
|
||||
{
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
register unsigned int b = Value & 0xffU;
|
||||
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -663,16 +686,20 @@ writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
|
||||
}
|
||||
|
||||
static void
|
||||
writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
|
||||
{
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
register unsigned int w = Value & 0xffffU;
|
||||
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask ;
|
||||
Offset -= msb;
|
||||
|
@ -681,6 +708,7 @@ writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
|
||||
w * 0x00010001;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c,v 1.8 2003/11/04 03:16:58 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c,v 1.9 2004/01/07 17:05:28 tsi Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2002 by The XFree86 Project, Inc.
|
||||
|
@ -497,7 +497,7 @@ OpenKeyboard(InputInfoPtr pInfo)
|
|||
#endif
|
||||
default:
|
||||
xf86Msg(X_ERROR, "%s: Unsupported wskbd type \"%d\"",
|
||||
pKbd->wsKbdType, pInfo->name);
|
||||
pInfo->name, pKbd->wsKbdType);
|
||||
close(pInfo->fd);
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v 1.26 2003/10/10 20:56:05 herrb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v 1.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;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c,v 1.81 2003/09/24 02:43:34 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c,v 1.82 2004/01/16 15:39:04 tsi Exp $ */
|
||||
/*
|
||||
* Pci.c - New server PCI access functions
|
||||
*
|
||||
|
@ -1016,7 +1016,9 @@ xf86scanpci(int flags)
|
|||
if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN))
|
||||
break;
|
||||
pciWriteByte(tag, PCI_PCI_BRIDGE_CONTROL_REG,
|
||||
devp->pci_bridge_control & ~PCI_PCI_BRIDGE_MASTER_ABORT_EN);
|
||||
devp->pci_bridge_control &
|
||||
~(PCI_PCI_BRIDGE_MASTER_ABORT_EN |
|
||||
PCI_PCI_BRIDGE_SECONDARY_RESET));
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -1079,7 +1081,7 @@ xf86scanpci(int flags)
|
|||
if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN))
|
||||
break;
|
||||
pciWriteByte(devp->tag, PCI_PCI_BRIDGE_CONTROL_REG,
|
||||
devp->pci_bridge_control);
|
||||
devp->pci_bridge_control & ~PCI_PCI_BRIDGE_SECONDARY_RESET);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/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
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/ioport.c,v 1.4 2003/01/01 19:16:41 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/ioport.c,v 1.5 2004/01/05 16:42:10 tsi Exp $ */
|
||||
/*
|
||||
* Copyright 2002 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
* Copyright 2002 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
|
|
|
@ -26,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>
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
* Authors: Kensuke Matsuzaki
|
||||
* Harold L Hunt II
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/hw/xwin/winmultiwindowshape.c,v 1.2 2003/11/10 18:22:44 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xwin/winmultiwindowshape.c,v 1.3 2003/12/22 01:34:20 dickey Exp $ */
|
||||
|
||||
#ifdef SHAPE
|
||||
|
||||
|
@ -117,9 +117,9 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
if (!wBoundingShape (pWin))
|
||||
return;
|
||||
|
||||
REGION_NULL(pScreen, &rrNewShape);
|
||||
REGION_COPY(pScreen, &rrNewShape, wBoundingShape(pWin));
|
||||
REGION_TRANSLATE(pScreen,
|
||||
REGION_NULL(pWin->drawable.pScreen, &rrNewShape);
|
||||
REGION_COPY(pWin->drawable.pScreen, &rrNewShape, wBoundingShape(pWin));
|
||||
REGION_TRANSLATE(pWin->drawable.pScreen,
|
||||
&rrNewShape,
|
||||
pWin->borderWidth,
|
||||
pWin->borderWidth);
|
||||
|
@ -138,7 +138,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
if (!GetClientRect (pWinPriv->hWnd, &rcClient))
|
||||
{
|
||||
ErrorF ("winReshape - GetClientRect failed, bailing: %d\n",
|
||||
GetLastError ());
|
||||
(int) GetLastError ());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -150,7 +150,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
if (!GetWindowRect (pWinPriv->hWnd, &rcWindow))
|
||||
{
|
||||
ErrorF ("winReshape - GetWindowRect failed, bailing: %d\n",
|
||||
GetLastError ());
|
||||
(int) GetLastError ());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -165,7 +165,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
{
|
||||
ErrorF ("winReshape - Initial CreateRectRgn (%d, %d, %d, %d) "
|
||||
"failed: %d\n",
|
||||
0, 0, rcWindow.right, iOffsetY, GetLastError ());
|
||||
0, 0, (int) rcWindow.right, iOffsetY, (int) GetLastError ());
|
||||
}
|
||||
|
||||
/* Loop through all rectangles in the X region */
|
||||
|
@ -185,7 +185,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
pRects->y1 + iOffsetY - 1,
|
||||
pRects->x2 + iOffsetX - 1,
|
||||
pRects->y2 + iOffsetY - 1,
|
||||
GetLastError (),
|
||||
(int) GetLastError (),
|
||||
pRects->x1, pRects->x2, iOffsetX,
|
||||
pRects->y1, pRects->y2, iOffsetY);
|
||||
}
|
||||
|
@ -194,7 +194,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
if (CombineRgn (hRgn, hRgn, hRgnRect, RGN_OR) == ERROR)
|
||||
{
|
||||
ErrorF ("winReshape - CombineRgn () failed: %d\n",
|
||||
GetLastError ());
|
||||
(int) GetLastError ());
|
||||
}
|
||||
|
||||
/* Delete the temporary Windows region */
|
||||
|
@ -205,7 +205,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
pWinPriv->hRgn = hRgn;
|
||||
}
|
||||
|
||||
REGION_UNINIT(pScreen, &rrNewShape);
|
||||
REGION_UNINIT(pWin->drawable.pScreen, &rrNewShape);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
* Authors: Harold L Hunt II
|
||||
* Kensuke Matsuzaki
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/hw/xwin/winwindow.c,v 1.9 2003/11/10 18:22:44 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xwin/winwindow.c,v 1.10 2003/12/22 01:34:20 dickey Exp $ */
|
||||
|
||||
#include "win.h"
|
||||
|
||||
|
@ -98,7 +98,7 @@ winCopyWindowNativeGDI (WindowPtr pWin,
|
|||
int dx, dy;
|
||||
int i, nbox;
|
||||
WindowPtr pwinRoot;
|
||||
BoxPtr pBoxDst, pBoxSrc;
|
||||
BoxPtr pBoxDst;
|
||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||
winScreenPriv(pScreen);
|
||||
|
||||
|
@ -465,9 +465,7 @@ void
|
|||
winReshapePRootless (WindowPtr pWin)
|
||||
{
|
||||
int nRects;
|
||||
#if 0
|
||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||
#endif
|
||||
RegionRec rrNewShape;
|
||||
BoxPtr pShape, pRects, pEnd;
|
||||
HRGN hRgn, hRgnRect;
|
||||
|
|
|
@ -1,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
|
||||
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 1997 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
* Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
|
@ -44,7 +44,7 @@
|
|||
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $XFree86: xc/programs/Xserver/mi/mibank.c,v 1.15 2003/11/10 18:39:16 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/mi/mibank.c,v 1.16 2004/01/05 16:42:10 tsi Exp $ */
|
||||
|
||||
/*
|
||||
* This thing originated from an idea of Edwin Goei and his bank switching
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 1997 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
* Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
|
@ -20,7 +20,7 @@
|
|||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $XFree86: xc/programs/Xserver/mi/mibank.h,v 1.10 2003/01/01 19:16:42 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/mi/mibank.h,v 1.11 2004/01/05 16:42:10 tsi Exp $ */
|
||||
|
||||
#ifndef __MIBANK_H__
|
||||
#define __MIBANK_H__ 1
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 },
|
||||
|
|
|
@ -26,13 +26,12 @@
|
|||
* holders shall not be used in advertising or otherwise to promote the sale,
|
||||
* use or other dealings in this Software without prior written authorization.
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlpha.h,v 1.2 2003/10/18 00:00:34 torrey Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlpha.h,v 1.3 2004/01/19 01:22:48 torrey Exp $ */
|
||||
|
||||
#ifndef _SAFEALPHA_H
|
||||
#define _SAFEALPHA_H
|
||||
|
||||
#include "picturestr.h"
|
||||
#include "rootlessCommon.h"
|
||||
|
||||
void SafeAlphaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what);
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
*
|
||||
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaPicture.c,v 1.3 2003/10/24 00:33:15 torrey Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaPicture.c,v 1.4 2004/01/19 01:22:48 torrey Exp $ */
|
||||
|
||||
#ifdef RENDER
|
||||
|
||||
|
@ -41,6 +41,7 @@
|
|||
#include "mipict.h"
|
||||
#include "fbpict.h"
|
||||
#include "safeAlpha.h"
|
||||
#include "rootlessCommon.h"
|
||||
|
||||
# define mod(a,b) ((b) == 1 ? 0 : (a) >= 0 ? (a) % (b) : (b) - (-a) % (b))
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
59
os/access.c
59
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;
|
||||
|
|
36
os/utils.c
36
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)
|
||||
|
|
47
os/xdmcp.c
47
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);
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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_ */
|
||||
|
|
|
@ -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++)
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -24,7 +24,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
|
|||
THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
********************************************************/
|
||||
/* $XFree86: xc/programs/Xserver/xkb/xkbInit.c,v 3.32 2003/11/17 22:20:46 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/xkb/xkbInit.c,v 3.33 2003/12/22 17:48:12 tsi Exp $ */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -716,7 +716,7 @@ XkbRF_VarDefsRec defs;
|
|||
|
||||
if (ok && (finfo.xkb!=NULL)) {
|
||||
XkbDescPtr xkb;
|
||||
int minKC,maxKC;
|
||||
KeyCode minKC,maxKC;
|
||||
|
||||
xkb= finfo.xkb;
|
||||
minKC= xkb->min_key_code;
|
||||
|
|
Loading…
Reference in New Issue