summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEgbert Eich <eich@suse.de>2004-03-01 15:06:59 +0000
committerEgbert Eich <eich@suse.de>2004-03-01 15:06:59 +0000
commitc6c51e2b3bb144149f008573b683f62caeffa263 (patch)
tree24d7dd072ee88206d9485923d6fab599ba0b734f
parentb58d2e37a7a18122764133b439bf7eb0924e22b6 (diff)
3. Added missing parts to XKB to make XEVIE branch compile (Egbert Eich).XEVIE
2. Merged with XORG-CURRENT branch to obtain a bugfix (Egbert Eich). 1. First add of SUN's XIVIE extension (Stuart Kreitman).
-rw-r--r--Xext/saver.c36
-rw-r--r--Xext/shape.c34
-rw-r--r--Xext/shm.c46
-rw-r--r--Xext/xtest.c20
-rw-r--r--Xext/xvdisp.c84
-rw-r--r--Xext/xvmain.c6
-rw-r--r--Xprint/pcl/PclSFonts.c5
-rw-r--r--cfb/cfbpntwin.c20
-rw-r--r--dbe/dbe.c6
-rw-r--r--dix/colormap.c20
-rw-r--r--dix/dispatch.c16
-rw-r--r--dix/dixfonts.c7
-rw-r--r--dix/events.c231
-rw-r--r--dix/main.c18
-rw-r--r--dix/resource.c7
-rw-r--r--dix/window.c40
-rw-r--r--dix/xpstubs.c18
-rw-r--r--fb/fbcopy.c54
-rw-r--r--fb/fbwindow.c12
-rw-r--r--hw/darwin/bundle/Swedish.lproj/MainMenu.nib/objects.nibbin20444 -> 20851 bytes
-rw-r--r--hw/darwin/quartz/quartzCocoa.m8
-rw-r--r--hw/darwin/quartz/quartzKeyboard.c6
-rw-r--r--hw/xfree86/common/compiler.h22
-rw-r--r--hw/xfree86/common/xf86.h3
-rw-r--r--hw/xfree86/common/xf86AutoConfig.c47
-rw-r--r--hw/xfree86/common/xf86Bus.c6
-rw-r--r--hw/xfree86/common/xf86Config.c8
-rw-r--r--hw/xfree86/common/xf86DGA.c4
-rw-r--r--hw/xfree86/common/xf86Globals.c4
-rw-r--r--hw/xfree86/common/xf86Helper.c61
-rw-r--r--hw/xfree86/common/xf86Init.c84
-rw-r--r--hw/xfree86/common/xf86Mode.c4
-rw-r--r--hw/xfree86/common/xf86Priv.h4
-rw-r--r--hw/xfree86/common/xf86Privstr.h12
-rw-r--r--hw/xfree86/common/xf86RandR.c4
-rw-r--r--hw/xfree86/common/xf86cmap.c4
-rw-r--r--hw/xfree86/dixmods/extmod/modinit.h4
-rw-r--r--hw/xfree86/doc/README.fonts37
-rw-r--r--hw/xfree86/doc/changelogs/CHANGELOG259
-rw-r--r--hw/xfree86/doc/sgml/DESIGN.sgml6
-rw-r--r--hw/xfree86/getconfig/getconfig47
-rw-r--r--hw/xfree86/getconfig/getconfig.pl47
-rw-r--r--hw/xfree86/int10/helper_exec.c6
-rw-r--r--hw/xfree86/loader/coffloader.c6
-rw-r--r--hw/xfree86/loader/extsym.c20
-rw-r--r--hw/xfree86/loader/fontsym.c6
-rw-r--r--hw/xfree86/os-support/bsd/alpha_video.c46
-rw-r--r--hw/xfree86/os-support/bsd/bsd_kbd.c4
-rw-r--r--hw/xfree86/os-support/bsd/bsd_mouse.c67
-rw-r--r--hw/xfree86/os-support/bus/Pci.c8
-rw-r--r--hw/xfree86/os-support/bus/Pci.h4
-rw-r--r--hw/xfree86/os-support/bus/zx1PCI.c100
-rw-r--r--hw/xfree86/os-support/linux/int10/linux.c8
-rw-r--r--hw/xfree86/os-support/linux/lnxResource.c15
-rw-r--r--hw/xfree86/os-support/misc/SlowBcopy.c10
-rw-r--r--hw/xfree86/scanpci/pci.ids159
-rw-r--r--hw/xfree86/utils/ioport/ioport.c4
-rw-r--r--hw/xfree86/utils/xorgcfg/config.h9
-rw-r--r--hw/xfree86/vbe/vbe.h5
-rw-r--r--hw/xfree86/vgahw/vgaHW.c41
-rw-r--r--hw/xfree86/xaa/xaaOverlay.c12
-rw-r--r--hw/xfree86/xaa/xaaPaintWin.c12
-rw-r--r--hw/xfree86/xaa/xaaPict.c5
-rw-r--r--hw/xfree86/xf8_32bpp/cfbpntwin.c18
-rwxr-xr-xhw/xwin/winmultiwindowshape.c20
-rw-r--r--hw/xwin/winwindow.c6
-rw-r--r--include/globals.h12
-rw-r--r--mi/miarc.c5
-rw-r--r--mi/mibank.c4
-rw-r--r--mi/mibank.h4
-rw-r--r--mi/miexpose.c16
-rw-r--r--mi/miinitext.c14
-rw-r--r--miext/rootless/safeAlpha/safeAlpha.h3
-rw-r--r--miext/rootless/safeAlpha/safeAlphaPicture.c3
-rw-r--r--miext/rootless/safeAlpha/safeAlphaWindow.c5
-rw-r--r--os/access.c59
-rw-r--r--os/utils.c36
-rw-r--r--os/xdmcp.c47
-rw-r--r--record/record.c16
-rw-r--r--render/picturestr.h6
-rw-r--r--render/render.c96
-rw-r--r--xkb/ddxFakeMtn.c12
-rw-r--r--xkb/xkb.c5
-rw-r--r--xkb/xkbActions.c64
-rw-r--r--xkb/xkbInit.c4
85 files changed, 1505 insertions, 858 deletions
diff --git a/Xext/saver.c b/Xext/saver.c
index cc4992ee1..b6175e376 100644
--- a/Xext/saver.c
+++ b/Xext/saver.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/Xext/saver.c,v 1.1.4.3 2004/02/25 21:46:33 kaleb Exp $ */
/*
* $XConsortium: saver.c,v 1.12 94/04/17 20:59:36 dpw Exp $
*
@@ -48,8 +48,8 @@ in this Software without prior written authorization from the X Consortium.
#include "cursorstr.h"
#include "colormapst.h"
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
@@ -678,7 +678,7 @@ ScreenSaverHandle (pScreen, xstate, force)
}
#ifdef XINERAMA
- if(noXineramaExtension || !pScreen->myNum)
+ if(noPanoramiXExtension || !pScreen->myNum)
#endif
SendScreenSaverNotify (pScreen, state, force);
return ret;
@@ -1196,19 +1196,19 @@ static int
ProcScreenSaverSetAttributes (ClientPtr client)
{
#ifdef XINERAMA
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
REQUEST(xScreenSaverSetAttributesReq);
- XineramaRes *draw;
- XineramaRes *backPix = NULL;
- XineramaRes *bordPix = NULL;
- XineramaRes *cmap = NULL;
+ PanoramiXRes *draw;
+ PanoramiXRes *backPix = NULL;
+ PanoramiXRes *bordPix = NULL;
+ PanoramiXRes *cmap = NULL;
int i, status = 0, len;
int pback_offset = 0, pbord_offset = 0, cmap_offset = 0;
XID orig_visual, tmp;
REQUEST_AT_LEAST_SIZE (xScreenSaverSetAttributesReq);
- if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
+ if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
@@ -1220,7 +1220,7 @@ ProcScreenSaverSetAttributes (ClientPtr client)
pback_offset = Ones((Mask)stuff->mask & (CWBackPixmap - 1));
tmp = *((CARD32 *) &stuff[1] + pback_offset);
if ((tmp != None) && (tmp != ParentRelative)) {
- if(!(backPix = (XineramaRes*) SecurityLookupIDByType(
+ if(!(backPix = (PanoramiXRes*) SecurityLookupIDByType(
client, tmp, XRT_PIXMAP, SecurityReadAccess)))
return BadPixmap;
}
@@ -1230,7 +1230,7 @@ ProcScreenSaverSetAttributes (ClientPtr client)
pbord_offset = Ones((Mask)stuff->mask & (CWBorderPixmap - 1));
tmp = *((CARD32 *) &stuff[1] + pbord_offset);
if (tmp != CopyFromParent) {
- if(!(bordPix = (XineramaRes*) SecurityLookupIDByType(
+ if(!(bordPix = (PanoramiXRes*) SecurityLookupIDByType(
client, tmp, XRT_PIXMAP, SecurityReadAccess)))
return BadPixmap;
}
@@ -1240,7 +1240,7 @@ ProcScreenSaverSetAttributes (ClientPtr client)
cmap_offset = Ones((Mask)stuff->mask & (CWColormap - 1));
tmp = *((CARD32 *) &stuff[1] + cmap_offset);
if ((tmp != CopyFromParent) && (tmp != None)) {
- if(!(cmap = (XineramaRes*) SecurityLookupIDByType(
+ if(!(cmap = (PanoramiXRes*) SecurityLookupIDByType(
client, tmp, XRT_COLORMAP, SecurityReadAccess)))
return BadColor;
}
@@ -1259,7 +1259,7 @@ ProcScreenSaverSetAttributes (ClientPtr client)
if (orig_visual != CopyFromParent)
stuff->visualID =
- XineramaVisualTable[(orig_visual*MAXSCREENS) + i];
+ PanoramiXVisualTable[(orig_visual*MAXSCREENS) + i];
status = ScreenSaverSetAttributes(client);
}
@@ -1275,16 +1275,16 @@ static int
ProcScreenSaverUnsetAttributes (ClientPtr client)
{
#ifdef XINERAMA
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
REQUEST(xScreenSaverUnsetAttributesReq);
- XineramaRes *draw;
+ PanoramiXRes *draw;
int i;
- if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
+ if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
- for(i = XineramaNumScreens - 1; i > 0; i--) {
+ for(i = PanoramiXNumScreens - 1; i > 0; i--) {
stuff->drawable = draw->info[i].id;
ScreenSaverUnsetAttributes(client);
}
diff --git a/Xext/shape.c b/Xext/shape.c
index 4774a0562..c3c64975b 100644
--- a/Xext/shape.c
+++ b/Xext/shape.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: xc/programs/Xserver/Xext/shape.c,v 3.19 2003/11/17 22:20:26 dawes Exp $ */
+/* $XdotOrg: xc/programs/Xserver/Xext/shape.c,v 1.1.4.4 2004/02/25 21:46:33 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/Xext/shape.c,v 3.19 2003/11/17 22:20:26 dawes Exp $ */
/************************************************************
@@ -114,8 +114,8 @@ static DISPATCH_PROC(SProcShapeRectangles);
static DISPATCH_PROC(SProcShapeSelectInput);
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
#if 0
@@ -382,12 +382,12 @@ ProcXineramaShapeRectangles(
register ClientPtr client)
{
REQUEST(xShapeRectanglesReq);
- XineramaRes *win;
+ PanoramiXRes *win;
int j, result = 0;
REQUEST_AT_LEAST_SIZE (xShapeRectanglesReq);
- if(!(win = (XineramaRes *)SecurityLookupIDByType(
+ if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
return BadWindow;
@@ -471,17 +471,17 @@ ProcXineramaShapeMask(
register ClientPtr client)
{
REQUEST(xShapeMaskReq);
- XineramaRes *win, *pmap;
+ PanoramiXRes *win, *pmap;
int j, result = 0;
REQUEST_SIZE_MATCH (xShapeMaskReq);
- if(!(win = (XineramaRes *)SecurityLookupIDByType(
+ if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
return BadWindow;
if(stuff->src != None) {
- if(!(pmap = (XineramaRes *)SecurityLookupIDByType(
+ if(!(pmap = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->src, XRT_PIXMAP, SecurityReadAccess)))
return BadPixmap;
} else
@@ -586,16 +586,16 @@ ProcXineramaShapeCombine(
register ClientPtr client)
{
REQUEST(xShapeCombineReq);
- XineramaRes *win, *win2;
+ PanoramiXRes *win, *win2;
int j, result = 0;
REQUEST_AT_LEAST_SIZE (xShapeCombineReq);
- if(!(win = (XineramaRes *)SecurityLookupIDByType(
+ if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
return BadWindow;
- if(!(win2 = (XineramaRes *)SecurityLookupIDByType(
+ if(!(win2 = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->src, XRT_WINDOW, SecurityReadAccess)))
return BadWindow;
@@ -655,12 +655,12 @@ ProcXineramaShapeOffset(
register ClientPtr client)
{
REQUEST(xShapeOffsetReq);
- XineramaRes *win;
+ PanoramiXRes *win;
int j, result = 0;
REQUEST_AT_LEAST_SIZE (xShapeOffsetReq);
- if(!(win = (XineramaRes *)SecurityLookupIDByType(
+ if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
return BadWindow;
@@ -1066,28 +1066,28 @@ ProcShapeDispatch (client)
return ProcShapeQueryVersion (client);
case X_ShapeRectangles:
#ifdef XINERAMA
- if ( !noXineramaExtension )
+ if ( !noPanoramiXExtension )
return ProcXineramaShapeRectangles (client);
else
#endif
return ProcShapeRectangles (client);
case X_ShapeMask:
#ifdef XINERAMA
- if ( !noXineramaExtension )
+ if ( !noPanoramiXExtension )
return ProcXineramaShapeMask (client);
else
#endif
return ProcShapeMask (client);
case X_ShapeCombine:
#ifdef XINERAMA
- if ( !noXineramaExtension )
+ if ( !noPanoramiXExtension )
return ProcXineramaShapeCombine (client);
else
#endif
return ProcShapeCombine (client);
case X_ShapeOffset:
#ifdef XINERAMA
- if ( !noXineramaExtension )
+ if ( !noPanoramiXExtension )
return ProcXineramaShapeOffset (client);
else
#endif
diff --git a/Xext/shm.c b/Xext/shm.c
index 6c3664476..ff34ee337 100644
--- a/Xext/shm.c
+++ b/Xext/shm.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: xc/programs/Xserver/Xext/shm.c,v 1.1.4.3 2003/12/18 19:29:12 kaleb Exp $ */
+/* $XdotOrg: xc/programs/Xserver/Xext/shm.c,v 1.1.4.5 2004/02/25 21:46:33 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/Xext/shm.c,v 3.42 2003/12/18 10:15:24 alanh Exp $ *
/************************************************************
@@ -64,8 +64,8 @@ in this Software without prior written authorization from The Open Group.
#endif
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
#include "modinit.h"
@@ -566,17 +566,17 @@ static int
ProcXineramaShmPutImage(register ClientPtr client)
{
int j, result = 0, orig_x, orig_y;
- XineramaRes *draw, *gc;
+ PanoramiXRes *draw, *gc;
Bool sendEvent, isRoot;
REQUEST(xShmPutImageReq);
REQUEST_SIZE_MATCH(xShmPutImageReq);
- if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
+ if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
- if(!(gc = (XineramaRes *)SecurityLookupIDByType(
+ if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->gc, XRT_GC, SecurityReadAccess)))
return BadGC;
@@ -592,8 +592,8 @@ ProcXineramaShmPutImage(register ClientPtr client)
stuff->drawable = draw->info[j].id;
stuff->gc = gc->info[j].id;
if (isRoot) {
- stuff->dstX = orig_x - xineramaDataPtr[j].x;
- stuff->dstY = orig_y - xineramaDataPtr[j].y;
+ stuff->dstX = orig_x - panoramiXdataPtr[j].x;
+ stuff->dstY = orig_y - panoramiXdataPtr[j].y;
}
result = ProcShmPutImage(client);
if(result != client->noClientException) break;
@@ -604,7 +604,7 @@ ProcXineramaShmPutImage(register ClientPtr client)
static int
ProcXineramaShmGetImage(ClientPtr client)
{
- XineramaRes *draw;
+ PanoramiXRes *draw;
DrawablePtr drawables[MAXSCREENS];
DrawablePtr pDraw;
xShmGetImageReply xgi;
@@ -623,7 +623,7 @@ ProcXineramaShmGetImage(ClientPtr client)
return(BadValue);
}
- if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
+ if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
@@ -646,15 +646,15 @@ ProcXineramaShmGetImage(ClientPtr client)
if(isRoot) {
if( /* check for being onscreen */
- x < 0 || x + w > XineramaPixWidth ||
- y < 0 || y + h > XineramaPixHeight )
+ x < 0 || x + w > PanoramiXPixWidth ||
+ y < 0 || y + h > PanoramiXPixHeight )
return(BadMatch);
} else {
if( /* check for being onscreen */
- xineramaDataPtr[0].x + pDraw->x + x < 0 ||
- xineramaDataPtr[0].x + pDraw->x + x + w > XineramaPixWidth ||
- xineramaDataPtr[0].y + pDraw->y + y < 0 ||
- xineramaDataPtr[0].y + pDraw->y + y + h > XineramaPixHeight ||
+ panoramiXdataPtr[0].x + pDraw->x + x < 0 ||
+ panoramiXdataPtr[0].x + pDraw->x + x + w > PanoramiXPixWidth ||
+ panoramiXdataPtr[0].y + pDraw->y + y < 0 ||
+ panoramiXdataPtr[0].y + pDraw->y + y + h > PanoramiXPixHeight ||
/* check for being inside of border */
x < - wBorderWidth((WindowPtr)pDraw) ||
x + w > wBorderWidth((WindowPtr)pDraw) + (int)pDraw->width ||
@@ -664,7 +664,7 @@ ProcXineramaShmGetImage(ClientPtr client)
}
drawables[0] = pDraw;
- for(i = 1; i < XineramaNumScreens; i++)
+ for(i = 1; i < PanoramiXNumScreens; i++)
VERIFY_DRAWABLE(drawables[i], draw->info[i].id, client);
xgi.visual = wVisual(((WindowPtr)pDraw));
@@ -727,7 +727,7 @@ ProcXineramaShmCreatePixmap(
int i, j, result;
ShmDescPtr shmdesc;
REQUEST(xShmCreatePixmapReq);
- XineramaRes *newPix;
+ PanoramiXRes *newPix;
REQUEST_SIZE_MATCH(xShmCreatePixmapReq);
client->errorValue = stuff->pid;
@@ -755,13 +755,13 @@ CreatePmap:
PixmapBytePad(stuff->width, stuff->depth) * stuff->height,
client);
- if(!(newPix = (XineramaRes *) xalloc(sizeof(XineramaRes))))
+ if(!(newPix = (PanoramiXRes *) xalloc(sizeof(PanoramiXRes))))
return BadAlloc;
newPix->type = XRT_PIXMAP;
newPix->u.pix.shared = TRUE;
newPix->info[0].id = stuff->pid;
- for(j = 1; j < XineramaNumScreens; j++)
+ for(j = 1; j < PanoramiXNumScreens; j++)
newPix->info[j].id = FakeClientID(client->index);
result = (client->noClientException);
@@ -1114,19 +1114,19 @@ ProcShmDispatch (client)
return ProcShmDetach(client);
case X_ShmPutImage:
#ifdef XINERAMA
- if ( !noXineramaExtension )
+ if ( !noPanoramiXExtension )
return ProcXineramaShmPutImage(client);
#endif
return ProcShmPutImage(client);
case X_ShmGetImage:
#ifdef XINERAMA
- if ( !noXineramaExtension )
+ if ( !noPanoramiXExtension )
return ProcXineramaShmGetImage(client);
#endif
return ProcShmGetImage(client);
case X_ShmCreatePixmap:
#ifdef XINERAMA
- if ( !noXineramaExtension )
+ if ( !noPanoramiXExtension )
return ProcXineramaShmCreatePixmap(client);
#endif
return ProcShmCreatePixmap(client);
diff --git a/Xext/xtest.c b/Xext/xtest.c
index 0dec3b623..a5461081c 100644
--- a/Xext/xtest.c
+++ b/Xext/xtest.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: xtest.c,v 1.4 2001/02/09 02:04:33 xorgcvs Exp $ */
+/* $XdotOrg: xc/programs/Xserver/Xext/xtest.c,v 1.1.4.4 2004/02/25 21:46:33 kaleb Exp $ */
/* $Xorg: xtest.c,v 1.4 2001/02/09 02:04:33 xorgcvs Exp $ */
/*
@@ -65,8 +65,8 @@ extern int DeviceValuator;
#endif /* XINPUT */
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
static void XTestResetProc(
@@ -392,12 +392,12 @@ ProcXTestFakeInput(client)
}
#ifdef XINERAMA
- if (!noXineramaExtension) {
+ if (!noPanoramiXExtension) {
ScreenPtr pScreen = root->drawable.pScreen;
BoxRec box;
int i;
- int x = ev->u.keyButtonPointer.rootX + xineramaDataPtr[0].x;
- int y = ev->u.keyButtonPointer.rootY + xineramaDataPtr[0].y;
+ int x = ev->u.keyButtonPointer.rootX + panoramiXdataPtr[0].x;
+ int y = ev->u.keyButtonPointer.rootY + panoramiXdataPtr[0].y;
if (!POINT_IN_REGION(pScreen, &XineramaScreenRegions[pScreen->myNum],
x, y, &box)) {
FOR_NSCREENS(i) {
@@ -406,8 +406,8 @@ ProcXTestFakeInput(client)
&XineramaScreenRegions[i],
x, y, &box)) {
root = WindowTable[i];
- x -= xineramaDataPtr[i].x;
- y -= xineramaDataPtr[i].y;
+ x -= panoramiXdataPtr[i].x;
+ y -= panoramiXdataPtr[i].y;
ev->u.keyButtonPointer.rootX = x;
ev->u.keyButtonPointer.rootY = y;
break;
@@ -427,9 +427,9 @@ ProcXTestFakeInput(client)
ev->u.keyButtonPointer.rootY = root->drawable.height - 1;
#ifdef XINERAMA
- if ((!noXineramaExtension
+ if ((!noPanoramiXExtension
&& root->drawable.pScreen->myNum != XineramaGetCursorScreen())
- || (noXineramaExtension && root != GetCurrentRootWindow()))
+ || (noPanoramiXExtension && root != GetCurrentRootWindow()))
#else
if (root != GetCurrentRootWindow())
diff --git a/Xext/xvdisp.c b/Xext/xvdisp.c
index 14b8c99e2..9f73b3d79 100644
--- a/Xext/xvdisp.c
+++ b/Xext/xvdisp.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/Xext/xvdisp.c,v 1.1.4.3 2004/02/25 21:46:33 kaleb Exp $ */
/***********************************************************
Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
@@ -74,8 +74,8 @@ SOFTWARE.
#include "xvdisp.h"
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
unsigned long XvXRTPort;
@@ -234,14 +234,14 @@ ProcXvDispatch(ClientPtr client)
case xv_QueryEncodings: return(ProcXvQueryEncodings(client));
case xv_PutVideo:
#ifdef XINERAMA
- if(!noXineramaExtension)
+ if(!noPanoramiXExtension)
return(XineramaXvPutVideo(client));
else
#endif
return(ProcXvPutVideo(client));
case xv_PutStill:
#ifdef XINERAMA
- if(!noXineramaExtension)
+ if(!noPanoramiXExtension)
return(XineramaXvPutStill(client));
else
#endif
@@ -254,14 +254,14 @@ ProcXvDispatch(ClientPtr client)
case xv_SelectPortNotify: return(ProcXvSelectPortNotify(client));
case xv_StopVideo:
#ifdef XINERAMA
- if(!noXineramaExtension)
+ if(!noPanoramiXExtension)
return(XineramaXvStopVideo(client));
else
#endif
return(ProcXvStopVideo(client));
case xv_SetPortAttribute:
#ifdef XINERAMA
- if(!noXineramaExtension)
+ if(!noPanoramiXExtension)
return(XineramaXvSetPortAttribute(client));
else
#endif
@@ -271,7 +271,7 @@ ProcXvDispatch(ClientPtr client)
case xv_QueryPortAttributes: return(ProcXvQueryPortAttributes(client));
case xv_PutImage:
#ifdef XINERAMA
- if(!noXineramaExtension)
+ if(!noPanoramiXExtension)
return(XineramaXvPutImage(client));
else
#endif
@@ -279,7 +279,7 @@ ProcXvDispatch(ClientPtr client)
#ifdef MITSHM
case xv_ShmPutImage:
#ifdef XINERAMA
- if(!noXineramaExtension)
+ if(!noPanoramiXExtension)
return(XineramaXvShmPutImage(client));
else
#endif
@@ -1872,15 +1872,15 @@ static int
XineramaXvStopVideo(ClientPtr client)
{
int result = Success, i;
- XineramaRes *draw, *port;
+ PanoramiXRes *draw, *port;
REQUEST(xvStopVideoReq);
REQUEST_SIZE_MATCH(xvStopVideoReq);
- if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
+ if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
- if(!(port = (XineramaRes *)SecurityLookupIDByType(
+ if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->port, XvXRTPort, SecurityReadAccess)))
return _XvBadPort;
@@ -1899,12 +1899,12 @@ static int
XineramaXvSetPortAttribute(ClientPtr client)
{
REQUEST(xvSetPortAttributeReq);
- XineramaRes *port;
+ PanoramiXRes *port;
int result = Success, i;
REQUEST_SIZE_MATCH(xvSetPortAttributeReq);
- if(!(port = (XineramaRes *)SecurityLookupIDByType(
+ if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->port, XvXRTPort, SecurityReadAccess)))
return _XvBadPort;
@@ -1923,22 +1923,22 @@ static int
XineramaXvShmPutImage(ClientPtr client)
{
REQUEST(xvShmPutImageReq);
- XineramaRes *draw, *gc, *port;
+ PanoramiXRes *draw, *gc, *port;
Bool send_event = stuff->send_event;
Bool isRoot;
int result = Success, i, x, y;
REQUEST_SIZE_MATCH(xvShmPutImageReq);
- if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
+ if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
- if(!(gc = (XineramaRes *)SecurityLookupIDByType(
+ if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->gc, XRT_GC, SecurityReadAccess)))
return BadGC;
- if(!(port = (XineramaRes *)SecurityLookupIDByType(
+ if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->port, XvXRTPort, SecurityReadAccess)))
return _XvBadPort;
@@ -1956,8 +1956,8 @@ XineramaXvShmPutImage(ClientPtr client)
stuff->drw_x = x;
stuff->drw_y = y;
if(isRoot) {
- stuff->drw_x -= xineramaDataPtr[i].x;
- stuff->drw_y -= xineramaDataPtr[i].y;
+ stuff->drw_x -= panoramiXdataPtr[i].x;
+ stuff->drw_y -= panoramiXdataPtr[i].y;
}
stuff->send_event = (send_event && !i) ? 1 : 0;
@@ -1972,21 +1972,21 @@ static int
XineramaXvPutImage(ClientPtr client)
{
REQUEST(xvPutImageReq);
- XineramaRes *draw, *gc, *port;
+ PanoramiXRes *draw, *gc, *port;
Bool isRoot;
int result = Success, i, x, y;
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
- if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
+ if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
- if(!(gc = (XineramaRes *)SecurityLookupIDByType(
+ if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->gc, XRT_GC, SecurityReadAccess)))
return BadGC;
- if(!(port = (XineramaRes *)SecurityLookupIDByType(
+ if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->port, XvXRTPort, SecurityReadAccess)))
return _XvBadPort;
@@ -2004,8 +2004,8 @@ XineramaXvPutImage(ClientPtr client)
stuff->drw_x = x;
stuff->drw_y = y;
if(isRoot) {
- stuff->drw_x -= xineramaDataPtr[i].x;
- stuff->drw_y -= xineramaDataPtr[i].y;
+ stuff->drw_x -= panoramiXdataPtr[i].x;
+ stuff->drw_y -= panoramiXdataPtr[i].y;
}
result = ProcXvPutImage(client);
@@ -2018,21 +2018,21 @@ static int
XineramaXvPutVideo(ClientPtr client)
{
REQUEST(xvPutImageReq);
- XineramaRes *draw, *gc, *port;
+ PanoramiXRes *draw, *gc, *port;
Bool isRoot;
int result = Success, i, x, y;
REQUEST_AT_LEAST_SIZE(xvPutVideoReq);
- if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
+ if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
- if(!(gc = (XineramaRes *)SecurityLookupIDByType(
+ if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->gc, XRT_GC, SecurityReadAccess)))
return BadGC;
- if(!(port = (XineramaRes *)SecurityLookupIDByType(
+ if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->port, XvXRTPort, SecurityReadAccess)))
return _XvBadPort;
@@ -2050,8 +2050,8 @@ XineramaXvPutVideo(ClientPtr client)
stuff->drw_x = x;
stuff->drw_y = y;
if(isRoot) {
- stuff->drw_x -= xineramaDataPtr[i].x;
- stuff->drw_y -= xineramaDataPtr[i].y;
+ stuff->drw_x -= panoramiXdataPtr[i].x;
+ stuff->drw_y -= panoramiXdataPtr[i].y;
}
result = ProcXvPutVideo(client);
@@ -2064,21 +2064,21 @@ static int
XineramaXvPutStill(ClientPtr client)
{
REQUEST(xvPutImageReq);
- XineramaRes *draw, *gc, *port;
+ PanoramiXRes *draw, *gc, *port;
Bool isRoot;
int result = Success, i, x, y;
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
- if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
+ if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
- if(!(gc = (XineramaRes *)SecurityLookupIDByType(
+ if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->gc, XRT_GC, SecurityReadAccess)))
return BadGC;
- if(!(port = (XineramaRes *)SecurityLookupIDByType(
+ if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
client, stuff->port, XvXRTPort, SecurityReadAccess)))
return _XvBadPort;
@@ -2096,8 +2096,8 @@ XineramaXvPutStill(ClientPtr client)
stuff->drw_x = x;
stuff->drw_y = y;
if(isRoot) {
- stuff->drw_x -= xineramaDataPtr[i].x;
- stuff->drw_y -= xineramaDataPtr[i].y;
+ stuff->drw_x -= panoramiXdataPtr[i].x;
+ stuff->drw_y -= panoramiXdataPtr[i].y;
}
result = ProcXvPutStill(client);
@@ -2115,7 +2115,7 @@ void XineramifyXv(void)
XvAttributePtr pAttr;
XvScreenPtr xvsp;
Bool isOverlay, hasOverlay;
- XineramaRes *port;
+ PanoramiXRes *port;
XvAdaptorPtr MatchingAdaptors[MAXSCREENS];
int i, j, k, l;
@@ -2141,7 +2141,7 @@ void XineramifyXv(void)
}
}
- for(j = 1; j < XineramaNumScreens; j++) {
+ for(j = 1; j < PanoramiXNumScreens; j++) {
pScreen = screenInfo.screens[j];
xvsp = (XvScreenPtr)pScreen->devPrivates[XvScreenIndex].ptr;
@@ -2199,12 +2199,12 @@ void XineramifyXv(void)
/* now create a resource for each port */
for(j = 0; j < refAdapt->nPorts; j++) {
- if(!(port = xalloc(sizeof(XineramaRes))))
+ if(!(port = xalloc(sizeof(PanoramiXRes))))
break;
port->info[0].id = MatchingAdaptors[0]->base_id + j;
AddResource(port->info[0].id, XvXRTPort, port);
- for(k = 1; k < XineramaNumScreens; k++) {
+ for(k = 1; k < PanoramiXNumScreens; k++) {
if(MatchingAdaptors[k] && (MatchingAdaptors[k]->nPorts > j))
port->info[k].id = MatchingAdaptors[k]->base_id + j;
else
diff --git a/Xext/xvmain.c b/Xext/xvmain.c
index 866fcd7da..469cf7e6f 100644
--- a/Xext/xvmain.c
+++ b/Xext/xvmain.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/Xext/xvmain.c,v 1.1.4.3 2004/02/25 21:46:33 kaleb Exp $ */
/***********************************************************
Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
@@ -100,8 +100,8 @@ SOFTWARE.
#endif
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#include "xvdisp.h"
#endif
diff --git a/Xprint/pcl/PclSFonts.c b/Xprint/pcl/PclSFonts.c
index d1ad8dc29..3c7cf05af 100644
--- a/Xprint/pcl/PclSFonts.c
+++ b/Xprint/pcl/PclSFonts.c
@@ -45,7 +45,7 @@ not be used in advertising or otherwise to promote the sale, use or other
dealings in this Software without prior written authorization from said
copyright holders.
*/
-/* $XFree86: xc/programs/Xserver/Xprint/pcl/PclSFonts.c,v 1.7 2003/10/29 22:11:00 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/Xprint/pcl/PclSFonts.c,v 1.8 2003/12/22 17:48:05 tsi Exp $ */
#include <stdio.h>
@@ -58,7 +58,6 @@ static short tmp2;
#define ESC 0x1b
#define SYMBOL_SET 277
-#define MAX_CINDEX 255
static unsigned int PclDownloadChar(FILE *,PclCharDataPtr,unsigned short,unsigned char);
static unsigned int PclDownloadHeader(FILE *, PclFontDescPtr, unsigned short);
@@ -117,8 +116,6 @@ PclDownloadSoftFont16(
}
pfh->index[row][col].fid = pfh->cur_fid;
pfh->index[row][col].cindex = pfh->cur_cindex++;
- if ( pfh->cur_cindex > MAX_CINDEX )
- pfh->cur_cindex = 0;
PclDownloadChar(fp, pcd, pfh->index[row][col].fid, pfh->index[row][col].cindex);
}
diff --git a/cfb/cfbpntwin.c b/cfb/cfbpntwin.c
index 35b9dc017..757911284 100644
--- a/cfb/cfbpntwin.c
+++ b/cfb/cfbpntwin.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: cfbpntwin.c,v 1.4 2001/02/09 02:04:38 xorgcvs Exp $ */
+/* $XdotOrg: xc/programs/Xserver/cfb/cfbpntwin.c,v 1.1.4.4 2004/02/25 21:46:36 kaleb Exp $ */
/* $Xorg: cfbpntwin.c,v 1.4 2001/02/09 02:04:38 xorgcvs Exp $ */
/***********************************************************
@@ -60,9 +60,9 @@ SOFTWARE.
#include "mi.h"
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
-extern Bool noXineramaExtension;
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
+extern Bool noPanoramiXExtension;
extern WindowPtr *WindowTable;
#endif
@@ -105,11 +105,11 @@ cfbPaintWindow(pWin, pRegion, what)
int yorg = pWin->drawable.y;
#endif
#ifdef XINERAMA
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
int index = pWin->drawable.pScreen->myNum;
if(WindowTable[index] == pWin) {
- xorg -= xineramaDataPtr[index].x;
- yorg -= xineramaDataPtr[index].y;
+ xorg -= panoramiXdataPtr[index].x;
+ yorg -= panoramiXdataPtr[index].y;
}
}
#endif
@@ -163,11 +163,11 @@ cfbPaintWindow(pWin, pRegion, what)
#endif
#ifdef XINERAMA
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
int index = pWin->drawable.pScreen->myNum;
if(WindowTable[index] == pBgWin) {
- xorg -= xineramaDataPtr[index].x;
- yorg -= xineramaDataPtr[index].y;
+ xorg -= panoramiXdataPtr[index].x;
+ yorg -= panoramiXdataPtr[index].y;
}
}
#endif
diff --git a/dbe/dbe.c b/dbe/dbe.c
index 6afe602ae..d0e71b9c0 100644
--- a/dbe/dbe.c
+++ b/dbe/dbe.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: dbe.c,v 1.3 2000/08/17 19:48:16 cpqbld Exp $ */
+/* $XdotOrg: xc/programs/Xserver/dbe/dbe.c,v 1.1.4.3 2004/02/25 21:46:38 kaleb Exp $ */
/* $Xorg: dbe.c,v 1.3 2000/08/17 19:48:16 cpqbld Exp $ */
/******************************************************************************
*
@@ -1822,8 +1822,8 @@ DbeExtensionInit()
Bool ddxInitSuccess;
#ifdef XINERAMA
- extern Bool noXineramaExtension;
- if(!noXineramaExtension) return;
+ extern Bool noPanoramiXExtension;
+ if(!noPanoramiXExtension) return;
#endif
/* Allocate private pointers in windows and screens. */
diff --git a/dix/colormap.c b/dix/colormap.c
index f3080471a..79247c471 100644
--- a/dix/colormap.c
+++ b/dix/colormap.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/dix/colormap.c,v 1.1.4.4 2004/02/25 21:46:40 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/dix/colormap.c,v 3.12 2003/11/17 22:20:33 dawes Exp $ */
/***********************************************************
@@ -63,9 +63,9 @@ SOFTWARE.
#include "lbxserve.h"
#endif
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
-extern Bool noXineramaExtension;
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
+extern Bool noPanoramiXExtension;
#endif
extern XID clientErrorValue;
@@ -484,8 +484,8 @@ TellNoMap (pwin, pmid)
/*
* Only deliver event for Screen 0 when Xinerama enabled
*/
- if (noXineramaExtension ||
- (!noXineramaExtension && !(pwin->drawable.pScreen->myNum))) {
+ if (noPanoramiXExtension ||
+ (!noPanoramiXExtension && !(pwin->drawable.pScreen->myNum))) {
#endif
/* This should be call to DeliverEvent */
xE.u.u.type = ColormapNotify;
@@ -519,8 +519,8 @@ TellLostMap (pwin, value)
/*
* Only deliver event for Screen 0 when Xinerama enabled
*/
- if (noXineramaExtension ||
- (!noXineramaExtension && !(pwin->drawable.pScreen->myNum)))
+ if (noPanoramiXExtension ||
+ (!noPanoramiXExtension && !(pwin->drawable.pScreen->myNum)))
#endif
if (wColormap(pwin) == *pmid)
{
@@ -549,8 +549,8 @@ TellGainedMap (pwin, value)
/*
* Only deliver event for Screen 0 when Xinerama enabled
*/
- if (noXineramaExtension ||
- (!noXineramaExtension && !(pwin->drawable.pScreen->myNum)))
+ if (noPanoramiXExtension ||
+ (!noPanoramiXExtension && !(pwin->drawable.pScreen->myNum)))
#endif
if (wColormap (pwin) == *pmid)
{
diff --git a/dix/dispatch.c b/dix/dispatch.c
index ac573d235..523365355 100644
--- a/dix/dispatch.c
+++ b/dix/dispatch.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: dispatch.c,v 1.5 2001/02/09 02:04:40 xorgcvs Exp $ */
+/* $XdotOrg: xc/programs/Xserver/dix/dispatch.c,v 1.1.4.4 2004/02/25 21:46:40 kaleb Exp $ */
/* $Xorg: dispatch.c,v 1.5 2001/02/09 02:04:40 xorgcvs Exp $ */
/************************************************************
@@ -93,8 +93,8 @@ int ProcInitialConnection();
#include "swaprep.h"
#include "swapreq.h"
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
#ifdef XCSECURITY
#define _SECURITY_SERVER
@@ -2643,7 +2643,7 @@ ProcAllocColor(client)
return (retval);
}
#ifdef XINERAMA
- if (noXineramaExtension || !pmap->pScreen->myNum)
+ if (noPanoramiXExtension || !pmap->pScreen->myNum)
#endif
WriteReplyToClient(client, sizeof(xAllocColorReply), &acr);
return (client->noClientException);
@@ -2702,7 +2702,7 @@ ProcAllocNamedColor (client)
return(retval);
}
#ifdef XINERAMA
- if (noXineramaExtension || !pcmp->pScreen->myNum)
+ if (noPanoramiXExtension || !pcmp->pScreen->myNum)
#endif
WriteReplyToClient(client, sizeof (xAllocNamedColorReply), &ancr);
return (client->noClientException);
@@ -2772,7 +2772,7 @@ ProcAllocColorCells (client)
return(retval);
}
#ifdef XINERAMA
- if (noXineramaExtension || !pcmp->pScreen->myNum)
+ if (noPanoramiXExtension || !pcmp->pScreen->myNum)
#endif
{
accr.type = X_Reply;
@@ -2851,7 +2851,7 @@ ProcAllocColorPlanes(client)
}
acpr.length = length >> 2;
#ifdef XINERAMA
- if (noXineramaExtension || !pcmp->pScreen->myNum)
+ if (noPanoramiXExtension || !pcmp->pScreen->myNum)
#endif
{
WriteReplyToClient(client, sizeof(xAllocColorPlanesReply), &acpr);
@@ -3934,7 +3934,7 @@ SendConnSetup(client, reason)
/* fill in the "currentInputMask" */
root = (xWindowRoot *)(lConnectionInfo + connBlockScreenStart);
#ifdef XINERAMA
- if (noXineramaExtension)
+ if (noPanoramiXExtension)
numScreens = screenInfo.numScreens;
else
numScreens = ((xConnSetup *)ConnectionInfo)->numRoots;
diff --git a/dix/dixfonts.c b/dix/dixfonts.c
index 114dc5720..6ed6ac3e9 100644
--- a/dix/dixfonts.c
+++ b/dix/dixfonts.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: xc/programs/Xserver/dix/dixfonts.c,v 3.29 2003/11/17 22:20:34 dawes Exp $ */
+/* $XdotOrg: xc/programs/Xserver/dix/dixfonts.c,v 1.1.4.4 2004/02/25 21:46:40 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/dix/dixfonts.c,v 3.29 2003/11/17 22:20:34 dawes Exp $ */
/************************************************************************
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
@@ -43,8 +43,7 @@ SOFTWARE.
#endif
#ifdef XINERAMA
-#include "xinerama.h"
-extern Bool noXineramaExtension;
+#include "panoramiX.h"
#endif
#ifdef LBX
@@ -1401,7 +1400,7 @@ bail:
if (c->err != Success) err = c->err;
if (err != Success && c->client != serverClient) {
#ifdef XINERAMA
- if (noXineramaExtension || !c->pGC->pScreen->myNum)
+ if (noPanoramiXExtension || !c->pGC->pScreen->myNum)
#endif
SendErrorToClient(c->client, c->reqType, 0, 0, err);
}
diff --git a/dix/events.c b/dix/events.c
index f8f69e172..50f99a61d 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -1,5 +1,4 @@
-/* $XdotOrg$ */
-/* $XFree86: xc/programs/Xserver/dix/events.c,v 3.50 2003/11/17 22:20:34 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/dix/events.c,v 3.52 2004/01/23 07:23:34 herrb Exp $ */
/************************************************************
Copyright 1987, 1998 The Open Group
@@ -117,8 +116,8 @@ of the copyright holder.
#include "dixstruct.h"
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
#include "globals.h"
@@ -316,8 +315,8 @@ XineramaSetCursorPosition(
that screen are. */
pScreen = sprite.screen;
- x += xineramaDataPtr[0].x;
- y += xineramaDataPtr[0].y;
+ x += panoramiXdataPtr[0].x;
+ y += panoramiXdataPtr[0].y;
if(!POINT_IN_REGION(pScreen, &XineramaScreenRegions[pScreen->myNum],
x, y, &box))
@@ -335,10 +334,10 @@ XineramaSetCursorPosition(
}
sprite.screen = pScreen;
- sprite.hotPhys.x = x - xineramaDataPtr[0].x;
- sprite.hotPhys.y = y - xineramaDataPtr[0].y;
- x -= xineramaDataPtr[pScreen->myNum].x;
- y -= xineramaDataPtr[pScreen->myNum].y;
+ sprite.hotPhys.x = x - panoramiXdataPtr[0].x;
+ sprite.hotPhys.y = y - panoramiXdataPtr[0].y;
+ x -= panoramiXdataPtr[pScreen->myNum].x;
+ y -= panoramiXdataPtr[pScreen->myNum].y;
return (*pScreen->SetCursorPosition)(pScreen, x, y, generateEvent);
}
@@ -352,10 +351,10 @@ XineramaConstrainCursor(void)
/* Translate the constraining box to the screen
the sprite is actually on */
- newBox.x1 += xineramaDataPtr[0].x - xineramaDataPtr[pScreen->myNum].x;
- newBox.x2 += xineramaDataPtr[0].x - xineramaDataPtr[pScreen->myNum].x;
- newBox.y1 += xineramaDataPtr[0].y - xineramaDataPtr[pScreen->myNum].y;
- newBox.y2 += xineramaDataPtr[0].y - xineramaDataPtr[pScreen->myNum].y;
+ newBox.x1 += panoramiXdataPtr[0].x - panoramiXdataPtr[pScreen->myNum].x;
+ newBox.x2 += panoramiXdataPtr[0].x - panoramiXdataPtr[pScreen->myNum].x;
+ newBox.y1 += panoramiXdataPtr[0].y - panoramiXdataPtr[pScreen->myNum].y;
+ newBox.y2 += panoramiXdataPtr[0].y - panoramiXdataPtr[pScreen->myNum].y;
(* pScreen->ConstrainCursor)(pScreen, &newBox);
}
@@ -412,17 +411,17 @@ XineramaSetWindowPntrs(WindowPtr pWin)
{
if(pWin == WindowTable[0]) {
memcpy(sprite.windows, WindowTable,
- XineramaNumScreens*sizeof(WindowPtr));
+ PanoramiXNumScreens*sizeof(WindowPtr));
} else {
- XineramaRes *win;
+ PanoramiXRes *win;
int i;
- win = (XineramaRes*)LookupIDByType(pWin->drawable.id, XRT_WINDOW);
+ win = (PanoramiXRes*)LookupIDByType(pWin->drawable.id, XRT_WINDOW);
if(!win)
return FALSE;
- for(i = 0; i < XineramaNumScreens; i++) {
+ for(i = 0; i < PanoramiXNumScreens; i++) {
sprite.windows[i] = LookupIDByType(win->info[i].id, RT_WINDOW);
if(!sprite.windows[i]) /* window is being unmapped */
return FALSE;
@@ -459,16 +458,16 @@ XineramaCheckVirtualMotion(
if(!XineramaSetWindowPntrs(pWin))
return;
- i = XineramaNumScreens - 1;
+ i = PanoramiXNumScreens - 1;
REGION_COPY(sprite.screen, &sprite.Reg2,
&sprite.windows[i]->borderSize);
- off_x = xineramaDataPtr[i].x;
- off_y = xineramaDataPtr[i].y;
+ off_x = panoramiXdataPtr[i].x;
+ off_y = panoramiXdataPtr[i].y;
while(i--) {
- x = off_x - xineramaDataPtr[i].x;
- y = off_y - xineramaDataPtr[i].y;
+ x = off_x - panoramiXdataPtr[i].x;
+ y = off_y - panoramiXdataPtr[i].y;
if(x || y)
REGION_TRANSLATE(sprite.screen, &sprite.Reg2, x, y);
@@ -476,8 +475,8 @@ XineramaCheckVirtualMotion(
REGION_UNION(sprite.screen, &sprite.Reg2, &sprite.Reg2,
&sprite.windows[i]->borderSize);
- off_x = xineramaDataPtr[i].x;
- off_y = xineramaDataPtr[i].y;
+ off_x = panoramiXdataPtr[i].x;
+ off_y = panoramiXdataPtr[i].y;
}
lims = *REGION_EXTENTS(sprite.screen, &sprite.Reg2);
@@ -526,10 +525,10 @@ XineramaCheckMotion(xEvent *xE)
/* Motion events entering DIX get translated to Screen 0
coordinates. Replayed events have already been
translated since they've entered DIX before */
- XE_KBPTR.rootX += xineramaDataPtr[sprite.screen->myNum].x -
- xineramaDataPtr[0].x;
- XE_KBPTR.rootY += xineramaDataPtr[sprite.screen->myNum].y -
- xineramaDataPtr[0].y;
+ XE_KBPTR.rootX += panoramiXdataPtr[sprite.screen->myNum].x -
+ panoramiXdataPtr[0].x;
+ XE_KBPTR.rootY += panoramiXdataPtr[sprite.screen->myNum].y -
+ panoramiXdataPtr[0].y;
#ifdef XEVIE
xeviehot.x =
@@ -609,16 +608,16 @@ XineramaConfineCursorToWindow(WindowPtr pWin, Bool generateEvents)
if(!XineramaSetWindowPntrs(pWin))
return;
- i = XineramaNumScreens - 1;
+ i = PanoramiXNumScreens - 1;
REGION_COPY(sprite.screen, &sprite.Reg1,
&sprite.windows[i]->borderSize);
- off_x = xineramaDataPtr[i].x;
- off_y = xineramaDataPtr[i].y;
+ off_x = panoramiXdataPtr[i].x;
+ off_y = panoramiXdataPtr[i].y;
while(i--) {
- x = off_x - xineramaDataPtr[i].x;
- y = off_y - xineramaDataPtr[i].y;
+ x = off_x - panoramiXdataPtr[i].x;
+ y = off_y - panoramiXdataPtr[i].y;
if(x || y)
REGION_TRANSLATE(sprite.screen, &sprite.Reg1, x, y);
@@ -626,8 +625,8 @@ XineramaConfineCursorToWindow(WindowPtr pWin, Bool generateEvents)
REGION_UNION(sprite.screen, &sprite.Reg1, &sprite.Reg1,
&sprite.windows[i]->borderSize);
- off_x = xineramaDataPtr[i].x;
- off_y = xineramaDataPtr[i].y;
+ off_x = panoramiXdataPtr[i].x;
+ off_y = panoramiXdataPtr[i].y;
}
sprite.hotLimits = *REGION_EXTENTS(sprite.screen, &sprite.Reg1);
@@ -689,9 +688,9 @@ SyntheticMotion(int x, int y)
/* Translate back to the sprite screen since processInputProc
will translate from sprite screen to screen 0 upon reentry
to the DIX layer */
- if(!noXineramaExtension) {
- x += xineramaDataPtr[0].x - xineramaDataPtr[sprite.screen->myNum].x;
- y += xineramaDataPtr[0].y - xineramaDataPtr[sprite.screen->myNum].y;
+ if(!noPanoramiXExtension) {
+ x += panoramiXdataPtr[0].x - panoramiXdataPtr[sprite.screen->myNum].x;
+ y += panoramiXdataPtr[0].y - panoramiXdataPtr[sprite.screen->myNum].y;
}
#endif
xE.u.keyButtonPointer.rootX = x;
@@ -794,7 +793,7 @@ CheckVirtualMotion(
{
#ifdef XINERAMA
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
XineramaCheckVirtualMotion(qe, pWin);
return;
}
@@ -866,7 +865,7 @@ ConfineCursorToWindow(WindowPtr pWin, Bool generateEvents, Bool confineToScreen)
ScreenPtr pScreen = pWin->drawable.pScreen;
#ifdef XINERAMA
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
XineramaConfineCursorToWindow(pWin, generateEvents);
return;
}
@@ -899,7 +898,7 @@ static void
ChangeToCursor(CursorPtr cursor)
{
#ifdef XINERAMA
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
XineramaChangeToCursor(cursor);
return;
}
@@ -987,7 +986,7 @@ GetSpritePosition(px, py)
int
XineramaGetCursorScreen()
{
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
return sprite.screen->myNum;
} else {
return 0;
@@ -1042,7 +1041,8 @@ EnqueueEvent(xE, device, count)
#ifdef XKB
/* Fix for key repeating bug. */
- if (xE->u.u.type == KeyRelease)
+ if (device->key != NULL && device->key->xkbInfo != NULL &&
+ xE->u.u.type == KeyRelease)
AccessXCancelRepeatKey(device->key->xkbInfo, xE->u.u.detail);
#endif
@@ -1068,11 +1068,11 @@ EnqueueEvent(xE, device, count)
if (xE->u.u.type == MotionNotify)
{
#ifdef XINERAMA
- if(!noXineramaExtension) {
- XE_KBPTR.rootX += xineramaDataPtr[sprite.screen->myNum].x -
- xineramaDataPtr[0].x;
- XE_KBPTR.rootY += xineramaDataPtr[sprite.screen->myNum].y -
- xineramaDataPtr[0].y;
+ if(!noPanoramiXExtension) {
+ XE_KBPTR.rootX += panoramiXdataPtr[sprite.screen->myNum].x -
+ panoramiXdataPtr[0].x;
+ XE_KBPTR.rootY += panoramiXdataPtr[sprite.screen->myNum].y -
+ panoramiXdataPtr[0].y;
}
#endif
sprite.hotPhys.x = XE_KBPTR.rootX;
@@ -1127,13 +1127,13 @@ PlayReleasedEvents(void)
/* Translate back to the sprite screen since processInputProc
will translate from sprite screen to screen 0 upon reentry
to the DIX layer */
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
qe->event->u.keyButtonPointer.rootX +=
- xineramaDataPtr[0].x -
- xineramaDataPtr[sprite.screen->myNum].x;
+ panoramiXdataPtr[0].x -
+ panoramiXdataPtr[sprite.screen->myNum].x;
qe->event->u.keyButtonPointer.rootY +=
- xineramaDataPtr[0].y -
- xineramaDataPtr[sprite.screen->myNum].y;
+ panoramiXdataPtr[0].y -
+ panoramiXdataPtr[sprite.screen->myNum].y;
}
#endif
(*qe->device->public.processInputProc)(qe->event, qe->device,
@@ -1745,8 +1745,11 @@ DeliverEventsToWindow(pWin, pEvents, count, filter, grab, mskidx)
#ifdef XINPUT
else
{
- if (((type == DeviceMotionNotify) || (type == DeviceButtonPress)) &&
- deliveries)
+ if (((type == DeviceMotionNotify)
+#ifdef XKB
+ || (type == DeviceButtonPress)
+#endif
+ ) && deliveries)
CheckDeviceGrabAndHintWindow (pWin, type,
(deviceKeyButtonPointer*) pEvents,
grab, client, deliveryMask);
@@ -1796,7 +1799,7 @@ MaybeDeliverEventsToClient(pWin, pEvents, count, filter, dontClient)
if (wClient(pWin) == dontClient)
return 0;
#ifdef XINERAMA
- if(!noXineramaExtension && pWin->drawable.pScreen->myNum)
+ if(!noPanoramiXExtension && pWin->drawable.pScreen->myNum)
return XineramaTryClientEventsResult(
wClient(pWin), NullGrab, pWin->eventMask, filter);
#endif
@@ -1810,7 +1813,7 @@ MaybeDeliverEventsToClient(pWin, pEvents, count, filter, dontClient)
if (SameClient(other, dontClient))
return 0;
#ifdef XINERAMA
- if(!noXineramaExtension && pWin->drawable.pScreen->myNum)
+ if(!noPanoramiXExtension && pWin->drawable.pScreen->myNum)
return XineramaTryClientEventsResult(
rClient(other), NullGrab, other->mask, filter);
#endif
@@ -1953,7 +1956,7 @@ DeliverEvents(pWin, xE, count, otherParent)
int deliveries;
#ifdef XINERAMA
- if(!noXineramaExtension && pWin->drawable.pScreen->myNum)
+ if(!noPanoramiXExtension && pWin->drawable.pScreen->myNum)
return count;
#endif
@@ -1993,14 +1996,14 @@ PointInBorderSize(WindowPtr pWin, int x, int y)
return TRUE;
#ifdef XINERAMA
- if(!noXineramaExtension && XineramaSetWindowPntrs(pWin)) {
+ if(!noPanoramiXExtension && XineramaSetWindowPntrs(pWin)) {
int i;
- for(i = 1; i < XineramaNumScreens; i++) {
+ for(i = 1; i < PanoramiXNumScreens; i++) {
if(POINT_IN_REGION(sprite.screen,
&sprite.windows[i]->borderSize,
- x + xineramaDataPtr[0].x - xineramaDataPtr[i].x,
- y + xineramaDataPtr[0].y - xineramaDataPtr[i].y,
+ x + panoramiXdataPtr[0].x - panoramiXdataPtr[i].x,
+ y + panoramiXdataPtr[0].y - panoramiXdataPtr[i].y,
&box))
return TRUE;
}
@@ -2064,7 +2067,7 @@ CheckMotion(xEvent *xE)
WindowPtr prevSpriteWin = sprite.win;
#ifdef XINERAMA
- if(!noXineramaExtension)
+ if(!noPanoramiXExtension)
return XineramaCheckMotion(xE);
#endif
@@ -2177,11 +2180,11 @@ DefineInitialRootWindow(win)
(*pScreen->DisplayCursor) (pScreen, sprite.current);
#ifdef XINERAMA
- if(!noXineramaExtension) {
- sprite.hotLimits.x1 = -xineramaDataPtr[0].x;
- sprite.hotLimits.y1 = -xineramaDataPtr[0].y;
- sprite.hotLimits.x2 = XineramaPixWidth - xineramaDataPtr[0].x;
- sprite.hotLimits.y2 = XineramaPixHeight - xineramaDataPtr[0].y;
+ if(!noPanoramiXExtension) {
+ sprite.hotLimits.x1 = -panoramiXdataPtr[0].x;
+ sprite.hotLimits.y1 = -panoramiXdataPtr[0].y;
+ sprite.hotLimits.x2 = PanoramiXPixWidth - panoramiXdataPtr[0].x;
+ sprite.hotLimits.y2 = PanoramiXPixHeight - panoramiXdataPtr[0].y;
sprite.physLimits = sprite.hotLimits;
sprite.confineWin = NullWindow;
#ifdef SHAPE
@@ -2218,11 +2221,11 @@ NewCurrentScreen(newScreen, x, y)
sprite.hotPhys.x = x;
sprite.hotPhys.y = y;
#ifdef XINERAMA
- if(!noXineramaExtension) {
- sprite.hotPhys.x += xineramaDataPtr[newScreen->myNum].x -
- xineramaDataPtr[0].x;
- sprite.hotPhys.y += xineramaDataPtr[newScreen->myNum].y -
- xineramaDataPtr[0].y;
+ if(!noPanoramiXExtension) {
+ sprite.hotPhys.x += panoramiXdataPtr[newScreen->myNum].x -
+ panoramiXdataPtr[0].x;
+ sprite.hotPhys.y += panoramiXdataPtr[newScreen->myNum].y -
+ panoramiXdataPtr[0].y;
if (newScreen != sprite.screen) {
sprite.screen = newScreen;
/* Make sure we tell the DDX to update its copy of the screen */
@@ -2234,10 +2237,10 @@ NewCurrentScreen(newScreen, x, y)
told of the pointer warp so we reposition it here */
if(!syncEvents.playingEvents)
(*sprite.screen->SetCursorPosition)(sprite.screen,
- sprite.hotPhys.x + xineramaDataPtr[0].x -
- xineramaDataPtr[sprite.screen->myNum].x,
- sprite.hotPhys.y + xineramaDataPtr[0].y -
- xineramaDataPtr[sprite.screen->myNum].y, FALSE);
+ sprite.hotPhys.x + panoramiXdataPtr[0].x -
+ panoramiXdataPtr[sprite.screen->myNum].x,
+ sprite.hotPhys.y + panoramiXdataPtr[0].y -
+ panoramiXdataPtr[sprite.screen->myNum].y, FALSE);
}
} else
#endif
@@ -2265,14 +2268,14 @@ XineramaPointInWindowIsVisible(
if(!XineramaSetWindowPntrs(pWin)) return FALSE;
- xoff = x + xineramaDataPtr[0].x;
- yoff = y + xineramaDataPtr[0].y;
+ xoff = x + panoramiXdataPtr[0].x;
+ yoff = y + panoramiXdataPtr[0].y;
- for(i = 1; i < XineramaNumScreens; i++) {
+ for(i = 1; i < PanoramiXNumScreens; i++) {
pWin = sprite.windows[i];
pScreen = pWin->drawable.pScreen;
- x = xoff - xineramaDataPtr[i].x;
- y = yoff - xineramaDataPtr[i].y;
+ x = xoff - panoramiXdataPtr[i].x;
+ y = yoff - panoramiXdataPtr[i].y;
if(POINT_IN_REGION(pScreen, &pWin->borderClip, x, y, &box))
return TRUE;
@@ -2312,8 +2315,8 @@ XineramaWarpPointer(ClientPtr client)
winX = source->drawable.x;
winY = source->drawable.y;
if(source == WindowTable[0]) {
- winX -= xineramaDataPtr[0].x;
- winY -= xineramaDataPtr[0].y;
+ winX -= panoramiXdataPtr[0].x;
+ winY -= panoramiXdataPtr[0].y;
}
if (x < winX + stuff->srcX ||
y < winY + stuff->srcY ||
@@ -2328,8 +2331,8 @@ XineramaWarpPointer(ClientPtr client)
x = dest->drawable.x;
y = dest->drawable.y;
if(dest == WindowTable[0]) {
- x -= xineramaDataPtr[0].x;
- y -= xineramaDataPtr[0].y;
+ x -= panoramiXdataPtr[0].x;
+ y -= panoramiXdataPtr[0].y;
}
}
@@ -2368,7 +2371,7 @@ ProcWarpPointer(client)
REQUEST_SIZE_MATCH(xWarpPointerReq);
#ifdef XINERAMA
- if(!noXineramaExtension)
+ if(!noPanoramiXExtension)
return XineramaWarpPointer(client);
#endif
@@ -2453,10 +2456,10 @@ BorderSizeNotEmpty(WindowPtr pWin)
return TRUE;
#ifdef XINERAMA
- if(!noXineramaExtension && XineramaSetWindowPntrs(pWin)) {
+ if(!noPanoramiXExtension && XineramaSetWindowPntrs(pWin)) {
int i;
- for(i = 1; i < XineramaNumScreens; i++) {
+ for(i = 1; i < PanoramiXNumScreens; i++) {
if(REGION_NOTEMPTY(sprite.screen, &sprite.windows[i]->borderSize))
return TRUE;
}
@@ -2498,10 +2501,10 @@ CheckPassiveGrabsOnWindow(
xkbi= gdev->key->xkbInfo;
#endif
tempGrab.modifierDevice = grab->modifierDevice;
- if (device == grab->modifierDevice &&
- (xE->u.u.type == KeyPress
-#ifdef XINPUT
- || xE->u.u.type == DeviceKeyPress
+ if ((device == grab->modifierDevice) &&
+ ((xE->u.u.type == KeyPress)
+#if defined(XINPUT) && defined(XKB)
+ || (xE->u.u.type == DeviceKeyPress)
#endif
))
tempGrab.modifiersDetail.exact =
@@ -2591,11 +2594,11 @@ CheckDeviceGrabs(device, xE, checkFirst, count)
register WindowPtr pWin = NULL;
register FocusClassPtr focus = device->focus;
- if ((xE->u.u.type == ButtonPress
-#ifdef XINPUT
- || xE->u.u.type == DeviceButtonPress
+ if (((xE->u.u.type == ButtonPress)
+#if defined(XINPUT) && defined(XKB)
+ || (xE->u.u.type == DeviceButtonPress)
#endif
- ) && device->button->buttonsDown != 1)
+ ) && (device->button->buttonsDown != 1))
return FALSE;
i = checkFirst;
@@ -3468,7 +3471,7 @@ DoFocusEvents(dev, fromWin, toWin, mode)
TRUE);
/* Notify all the roots */
#ifdef XINERAMA
- if ( !noXineramaExtension )
+ if ( !noPanoramiXExtension )
FocusEvent(dev, FocusOut, mode, out, WindowTable[0]);
else
#endif
@@ -3487,7 +3490,7 @@ DoFocusEvents(dev, fromWin, toWin, mode)
}
/* Notify all the roots */
#ifdef XINERAMA
- if ( !noXineramaExtension )
+ if ( !noPanoramiXExtension )
FocusEvent(dev, FocusIn, mode, in, WindowTable[0]);
else
#endif
@@ -3505,7 +3508,7 @@ DoFocusEvents(dev, fromWin, toWin, mode)
FocusOutEvents(dev, sprite.win, ROOT, mode, NotifyPointer,
TRUE);
#ifdef XINERAMA
- if ( !noXineramaExtension )
+ if ( !noPanoramiXExtension )
FocusEvent(dev, FocusOut, mode, out, WindowTable[0]);
else
#endif
@@ -4019,12 +4022,12 @@ ProcQueryPointer(client)
}
#ifdef XINERAMA
- if(!noXineramaExtension) {
- rep.rootX += xineramaDataPtr[0].x;
- rep.rootY += xineramaDataPtr[0].y;
+ if(!noPanoramiXExtension) {
+ rep.rootX += panoramiXdataPtr[0].x;
+ rep.rootY += panoramiXdataPtr[0].y;
if(stuff->id == rep.root) {
- rep.winX += xineramaDataPtr[0].x;
- rep.winY += xineramaDataPtr[0].y;
+ rep.winX += panoramiXdataPtr[0].x;
+ rep.winY += panoramiXdataPtr[0].y;
}
}
#endif
@@ -4490,7 +4493,7 @@ CheckCursorConfinement(pWin)
WindowPtr confineTo;
#ifdef XINERAMA
- if(!noXineramaExtension && pWin->drawable.pScreen->myNum) return;
+ if(!noPanoramiXExtension && pWin->drawable.pScreen->myNum) return;
#endif
if (grab && (confineTo = grab->confineTo))
@@ -4550,7 +4553,7 @@ ProcRecolorCursor(client)
{
pscr = screenInfo.screens[nscr];
#ifdef XINERAMA
- if(!noXineramaExtension)
+ if(!noPanoramiXExtension)
displayed = (pscr == sprite.screen);
else
#endif
@@ -4579,8 +4582,8 @@ WriteEventsToClient(pClient, count, events)
#endif
#ifdef XINERAMA
- if(!noXineramaExtension &&
- (xineramaDataPtr[0].x || xineramaDataPtr[0].y))
+ if(!noPanoramiXExtension &&
+ (panoramiXdataPtr[0].x || panoramiXdataPtr[0].y))
{
switch(events->u.u.type) {
case MotionNotify:
@@ -4597,13 +4600,13 @@ WriteEventsToClient(pClient, count, events)
*/
count = 1; /* should always be 1 */
memcpy(&eventCopy, events, sizeof(xEvent));
- eventCopy.u.keyButtonPointer.rootX += xineramaDataPtr[0].x;
- eventCopy.u.keyButtonPointer.rootY += xineramaDataPtr[0].y;
+ eventCopy.u.keyButtonPointer.rootX += panoramiXdataPtr[0].x;
+ eventCopy.u.keyButtonPointer.rootY += panoramiXdataPtr[0].y;
if(eventCopy.u.keyButtonPointer.event ==
eventCopy.u.keyButtonPointer.root)
{
- eventCopy.u.keyButtonPointer.eventX += xineramaDataPtr[0].x;
- eventCopy.u.keyButtonPointer.eventY += xineramaDataPtr[0].y;
+ eventCopy.u.keyButtonPointer.eventX += panoramiXdataPtr[0].x;
+ eventCopy.u.keyButtonPointer.eventY += panoramiXdataPtr[0].y;
}
events = &eventCopy;
break;
diff --git a/dix/main.c b/dix/main.c
index 0f2fd7c70..c67d580ab 100644
--- a/dix/main.c
+++ b/dix/main.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/dix/main.c,v 1.1.4.5 2004/02/25 21:46:40 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/dix/main.c,v 3.44 2003/11/17 22:20:34 dawes Exp $ */
/***********************************************************
@@ -94,7 +94,7 @@ SOFTWARE.
#include "dixfont.h"
#include "extnsionst.h"
#ifdef XINERAMA
-extern Bool noXineramaExtension;
+extern Bool noPanoramiXExtension;
#else
#include "dixevents.h" /* InitEvents() */
#include "dispatch.h" /* InitProcVectors() */
@@ -408,8 +408,8 @@ main(int argc, char *argv[], char *envp[])
/*
* Consolidate window and colourmap information for each screen
*/
- if (!noXineramaExtension)
- XineramaConsolidate();
+ if (!noPanoramiXExtension)
+ PanoramiXConsolidate();
#endif
for (i = 0; i < screenInfo.numScreens; i++)
@@ -421,8 +421,8 @@ main(int argc, char *argv[], char *envp[])
#endif
#ifdef XINERAMA
- if (!noXineramaExtension) {
- if (!XineramaCreateConnectionBlock())
+ if (!noPanoramiXExtension) {
+ if (!PanoramiXCreateConnectionBlock())
FatalError("could not create connection block info");
} else
#endif
@@ -441,10 +441,10 @@ main(int argc, char *argv[], char *envp[])
#ifdef XINERAMA
{
- Bool remember_it = noXineramaExtension;
- noXineramaExtension = TRUE;
+ Bool remember_it = noPanoramiXExtension;
+ noPanoramiXExtension = TRUE;
FreeAllResources();
- noXineramaExtension = remember_it;
+ noPanoramiXExtension = remember_it;
}
#else
FreeAllResources();
diff --git a/dix/resource.c b/dix/resource.c
index ddcb8d0a3..2caee99fc 100644
--- a/dix/resource.c
+++ b/dix/resource.c
@@ -1,4 +1,3 @@
-/* $XdotOrg$ */
/************************************************************
Copyright 1987, 1998 The Open Group
@@ -90,8 +89,8 @@ SOFTWARE.
#include "dixgrabs.h"
#include "cursor.h"
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
#include <assert.h>
@@ -801,7 +800,7 @@ LegalNewID(id, client)
#ifdef XINERAMA
XID minid, maxid;
- if (!noXineramaExtension) {
+ if (!noPanoramiXExtension) {
minid = client->clientAsMask | (client->index ?
SERVER_BIT : SERVER_MINID);
maxid = (clientTable[client->index].fakeID | RESOURCE_ID_MASK) + 1;
diff --git a/dix/window.c b/dix/window.c
index 20dbc83df..773cfb261 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: window.c,v 1.4 2001/02/09 02:04:41 xorgcvs Exp $ */
+/* $XdotOrg: xc/programs/Xserver/dix/window.c,v 1.1.4.4 2004/02/25 21:46:40 kaleb Exp $ */
/* $Xorg: window.c,v 1.4 2001/02/09 02:04:41 xorgcvs Exp $ */
/*
@@ -87,8 +87,8 @@ SOFTWARE.
#include "gcstruct.h"
#include "servermd.h"
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
#include "dixevents.h"
#include "globals.h"
@@ -2322,9 +2322,9 @@ ConfigureWindow(pWin, mask, vlist, client)
event.u.configureRequest.x = x;
event.u.configureRequest.y = y;
#ifdef XINERAMA
- if(!noXineramaExtension && (!pParent || !pParent->parent)) {
- event.u.configureRequest.x += xineramaDataPtr[0].x;
- event.u.configureRequest.y += xineramaDataPtr[0].y;
+ if(!noPanoramiXExtension && (!pParent || !pParent->parent)) {
+ event.u.configureRequest.x += panoramiXdataPtr[0].x;
+ event.u.configureRequest.y += panoramiXdataPtr[0].y;
}
#endif
event.u.configureRequest.width = w;
@@ -2408,9 +2408,9 @@ ActuallyDoSomething:
event.u.configureNotify.x = x;
event.u.configureNotify.y = y;
#ifdef XINERAMA
- if(!noXineramaExtension && (!pParent || !pParent->parent)) {
- event.u.configureNotify.x += xineramaDataPtr[0].x;
- event.u.configureNotify.y += xineramaDataPtr[0].y;
+ if(!noPanoramiXExtension && (!pParent || !pParent->parent)) {
+ event.u.configureNotify.x += panoramiXdataPtr[0].x;
+ event.u.configureNotify.y += panoramiXdataPtr[0].y;
}
#endif
event.u.configureNotify.width = w;
@@ -2566,9 +2566,9 @@ ReparentWindow(pWin, pParent, x, y, client)
event.u.reparent.x = x;
event.u.reparent.y = y;
#ifdef XINERAMA
- if(!noXineramaExtension && !pParent->parent) {
- event.u.reparent.x += xineramaDataPtr[0].x;
- event.u.reparent.y += xineramaDataPtr[0].y;
+ if(!noPanoramiXExtension && !pParent->parent) {
+ event.u.reparent.x += panoramiXdataPtr[0].x;
+ event.u.reparent.y += panoramiXdataPtr[0].y;
}
#endif
event.u.reparent.override = pWin->overrideRedirect;
@@ -2939,9 +2939,9 @@ UnrealizeTree(
pChild->realized = FALSE;
pChild->visibility = VisibilityNotViewable;
#ifdef XINERAMA
- if(!noXineramaExtension && !pChild->drawable.pScreen->myNum) {
- XineramaRes *win;
- win = (XineramaRes*)LookupIDByType(pChild->drawable.id,
+ if(!noPanoramiXExtension && !pChild->drawable.pScreen->myNum) {
+ PanoramiXRes *win;
+ win = (PanoramiXRes*)LookupIDByType(pChild->drawable.id,
XRT_WINDOW);
if(win)
win->u.win.visibility = VisibilityNotViewable;
@@ -3225,21 +3225,21 @@ SendVisibilityNotify(pWin)
#endif
#ifdef XINERAMA
/* This is not quite correct yet, but it's close */
- if(!noXineramaExtension) {
- XineramaRes *win;
+ if(!noPanoramiXExtension) {
+ PanoramiXRes *win;
WindowPtr pWin2;
int i, Scrnum;
Scrnum = pWin->drawable.pScreen->myNum;
- win = XineramaFindIDByScrnum(XRT_WINDOW, pWin->drawable.id, Scrnum);
+ win = PanoramiXFindIDByScrnum(XRT_WINDOW, pWin->drawable.id, Scrnum);
if(!win || (win->u.win.visibility == visibility))
return;
switch(visibility) {
case VisibilityUnobscured:
- for(i = 0; i < XineramaNumScreens; i++) {
+ for(i = 0; i < PanoramiXNumScreens; i++) {
if(i == Scrnum) continue;
pWin2 = (WindowPtr)LookupIDByType(win->info[i].id, RT_WINDOW);
@@ -3259,7 +3259,7 @@ SendVisibilityNotify(pWin)
}
break;
case VisibilityFullyObscured:
- for(i = 0; i < XineramaNumScreens; i++) {
+ for(i = 0; i < PanoramiXNumScreens; i++) {
if(i == Scrnum) continue;
pWin2 = (WindowPtr)LookupIDByType(win->info[i].id, RT_WINDOW);
diff --git a/dix/xpstubs.c b/dix/xpstubs.c
index a48a81402..db6de103c 100644
--- a/dix/xpstubs.c
+++ b/dix/xpstubs.c
@@ -31,24 +31,24 @@ from The Open Group.
#include "font.h"
Bool
-XpClientIsBitmapClient(client)
- ClientPtr client;
+XpClientIsBitmapClient(
+ ClientPtr client)
{
return TRUE;
}
Bool
-XpClientIsPrintClient(client, fpe)
- ClientPtr client;
- FontPathElementPtr fpe;
+XpClientIsPrintClient(
+ ClientPtr client,
+ FontPathElementPtr fpe)
{
return FALSE;
}
int
-XprintOptions(argc, argv, i)
- int argc;
- char **argv;
- int i;
+XprintOptions(
+ int argc,
+ char **argv,
+ int i)
{
return i;
}
diff --git a/fb/fbcopy.c b/fb/fbcopy.c
index 74d07a1bf..6dd48a786 100644
--- a/fb/fbcopy.c
+++ b/fb/fbcopy.c
@@ -21,7 +21,7 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.13 2003/11/10 18:21:47 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.14 2003/12/28 17:22:25 alanh Exp $ */
#include "fb.h"
#ifdef IN_MODULE
@@ -398,7 +398,10 @@ fbDoCopy (DrawablePtr pSrcDrawable,
int dx;
int dy;
int numRects;
- BoxRec box;
+ int box_x1;
+ int box_y1;
+ int box_x2;
+ int box_y2;
Bool fastSrc = FALSE; /* for fast clipping with pixmap source */
Bool fastDst = FALSE; /* for fast clipping with one rect dest */
Bool fastExpose = FALSE; /* for fast exposures with pixmap source */
@@ -466,10 +469,10 @@ fbDoCopy (DrawablePtr pSrcDrawable,
xOut += pDstDrawable->x;
yOut += pDstDrawable->y;
- box.x1 = xIn;
- box.y1 = yIn;
- box.x2 = xIn + widthSrc;
- box.y2 = yIn + heightSrc;
+ box_x1 = xIn;
+ box_y1 = yIn;
+ box_x2 = xIn + widthSrc;
+ box_y2 = yIn + heightSrc;
dx = xIn - xOut;
dy = yIn - yOut;
@@ -484,32 +487,32 @@ fbDoCopy (DrawablePtr pSrcDrawable,
* clip the source; if regions extend beyond the source size,
* make sure exposure events get sent
*/
- if (box.x1 < pSrcDrawable->x)
+ if (box_x1 < pSrcDrawable->x)
{
- box.x1 = pSrcDrawable->x;
+ box_x1 = pSrcDrawable->x;
fastExpose = FALSE;
}
- if (box.y1 < pSrcDrawable->y)
+ if (box_y1 < pSrcDrawable->y)
{
- box.y1 = pSrcDrawable->y;
+ box_y1 = pSrcDrawable->y;
fastExpose = FALSE;
}
- if (box.x2 > pSrcDrawable->x + (int) pSrcDrawable->width)
+ if (box_x2 > pSrcDrawable->x + (int) pSrcDrawable->width)
{
- box.x2 = pSrcDrawable->x + (int) pSrcDrawable->width;
+ box_x2 = pSrcDrawable->x + (int) pSrcDrawable->width;
fastExpose = FALSE;
}
- if (box.y2 > pSrcDrawable->y + (int) pSrcDrawable->height)
+ if (box_y2 > pSrcDrawable->y + (int) pSrcDrawable->height)
{
- box.y2 = pSrcDrawable->y + (int) pSrcDrawable->height;
+ box_y2 = pSrcDrawable->y + (int) pSrcDrawable->height;
fastExpose = FALSE;
}
/* Translate and clip the dst to the destination composite clip */
- box.x1 -= dx;
- box.x2 -= dx;
- box.y1 -= dy;
- box.y2 -= dy;
+ box_x1 -= dx;
+ box_x2 -= dx;
+ box_y1 -= dy;
+ box_y2 -= dy;
/* If the destination composite clip is one rectangle we can
do the clip directly. Otherwise we have to create a full
@@ -520,21 +523,26 @@ fbDoCopy (DrawablePtr pSrcDrawable,
{
BoxPtr pBox = REGION_RECTS(cclip);
- if (box.x1 < pBox->x1) box.x1 = pBox->x1;
- if (box.x2 > pBox->x2) box.x2 = pBox->x2;
- if (box.y1 < pBox->y1) box.y1 = pBox->y1;
- if (box.y2 > pBox->y2) box.y2 = pBox->y2;
+ if (box_x1 < pBox->x1) box_x1 = pBox->x1;
+ if (box_x2 > pBox->x2) box_x2 = pBox->x2;
+ if (box_y1 < pBox->y1) box_y1 = pBox->y1;
+ if (box_y2 > pBox->y2) box_y2 = pBox->y2;
fastDst = TRUE;
}
}
/* Check to see if the region is empty */
- if (box.x1 >= box.x2 || box.y1 >= box.y2)
+ if (box_x1 >= box_x2 || box_y1 >= box_y2)
{
REGION_NULL(pGC->pScreen, &rgnDst);
}
else
{
+ BoxRec box;
+ box.x1 = box_x1;
+ box.y1 = box_y1;
+ box.x2 = box_x2;
+ box.y2 = box_y2;
REGION_INIT(pGC->pScreen, &rgnDst, &box, 1);
}
diff --git a/fb/fbwindow.c b/fb/fbwindow.c
index 9a582c5fc..0b1462f3c 100644
--- a/fb/fbwindow.c
+++ b/fb/fbwindow.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/fb/fbwindow.c,v 1.1.4.3 2004/02/25 21:46:42 kaleb Exp $ */
/*
* Id: fbwindow.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
*
@@ -225,8 +225,8 @@ fbFillRegionSolid (DrawablePtr pDrawable,
}
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
void
@@ -249,13 +249,13 @@ fbFillRegionTiled (DrawablePtr pDrawable,
int yRot = pDrawable->y;
#ifdef XINERAMA
- if(!noXineramaExtension)
+ if(!noPanoramiXExtension)
{
int index = pDrawable->pScreen->myNum;
if(&WindowTable[index]->drawable == pDrawable)
{
- xRot -= xineramaDataPtr[index].x;
- yRot -= xineramaDataPtr[index].y;
+ xRot -= panoramiXdataPtr[index].x;
+ yRot -= panoramiXdataPtr[index].y;
}
}
#endif
diff --git a/hw/darwin/bundle/Swedish.lproj/MainMenu.nib/objects.nib b/hw/darwin/bundle/Swedish.lproj/MainMenu.nib/objects.nib
index 230436b31..116e0b316 100644
--- a/hw/darwin/bundle/Swedish.lproj/MainMenu.nib/objects.nib
+++ b/hw/darwin/bundle/Swedish.lproj/MainMenu.nib/objects.nib
Binary files differ
diff --git a/hw/darwin/quartz/quartzCocoa.m b/hw/darwin/quartz/quartzCocoa.m
index b63da9662..8c313008b 100644
--- a/hw/darwin/quartz/quartzCocoa.m
+++ b/hw/darwin/quartz/quartzCocoa.m
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/quartzCocoa.m,v 1.1.4.3 2004/02/25 21:46:45 kaleb Exp $ */
/**************************************************************
*
* Quartz-specific support for the Darwin X Server
@@ -49,7 +49,7 @@
extern void FatalError(const char *, ...);
extern char *display;
-extern int noXineramaExtension;
+extern int noPanoramiXExtension;
/*
@@ -69,12 +69,12 @@ void QuartzReadPreferences(void)
// quartzRootless has already been set
if (quartzRootless) {
// Use Pseudorama instead of Xinerama
- noXineramaExtension = TRUE;
+ noPanoramiXExtension = TRUE;
noPseudoramaExtension = ![Preferences xinerama];
quartzUseAGL = [Preferences useAGL];
} else {
- noXineramaExtension = ![Preferences xinerama];
+ noPanoramiXExtension = ![Preferences xinerama];
noPseudoramaExtension = TRUE;
// Full screen can't use AGL for GLX
diff --git a/hw/darwin/quartz/quartzKeyboard.c b/hw/darwin/quartz/quartzKeyboard.c
index 8d580830b..eab86e27e 100644
--- a/hw/darwin/quartz/quartzKeyboard.c
+++ b/hw/darwin/quartz/quartzKeyboard.c
@@ -32,9 +32,7 @@
promote the sale, use or other dealings in this Software without
prior written authorization.
*/
-/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartzKeyboard.c,v 1.1 2003/11/01 08:13:08 torrey Exp $ */
-
-#ifdef HAS_KL_API
+/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartzKeyboard.c,v 1.2 2004/01/19 01:22:47 torrey Exp $ */
#include "quartzCommon.h"
@@ -45,6 +43,8 @@
#include "keysym.h"
#include "keysym2ucs.h"
+#ifdef HAS_KL_API
+
#define HACK_MISSING 1
#define HACK_KEYPAD 1
diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
index a9951e705..65a0e5c7c 100644
--- a/hw/xfree86/common/compiler.h
+++ b/hw/xfree86/common/compiler.h
@@ -1,5 +1,4 @@
-/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/compiler.h,v 3.105 2003/12/18 21:56:37 dawes Exp $ */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/compiler.h,v 3.105 2003/12/18 21:56:37 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/compiler.h,v 3.106 2004/02/02 03:55:28 dawes Exp $ */
/*
* Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
*
@@ -59,6 +58,10 @@
# define _COMPILER_H
+#if defined(__SUNPRO_C)
+# define DO_PROTOTYPES
+#endif
+
/* Allow drivers to use the GCC-supported __inline__ and/or __inline. */
# ifndef __inline__
# if defined(__GNUC__)
@@ -113,6 +116,10 @@ extern int ffs(unsigned long);
;
# endif
+# if defined(__SUNPRO_C)
+# define DO_PROTOTYPES
+# endif
+
# if defined(NO_INLINE) || defined(DO_PROTOTYPES)
# if !defined(__sparc__) && !defined(__arm32__) \
@@ -1297,6 +1304,7 @@ inl(unsigned short port)
# define mem_barrier() /* NOP */
# define write_mem_barrier() /* NOP */
+# if !defined(__SUNPRO_C)
# if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__)
# ifdef GCCUSESGAS
@@ -1442,6 +1450,7 @@ inl(unsigned short port)
}
# endif /* FAKEIT */
+# endif /* __SUNPRO_C */
# endif /* ix86 */
@@ -1538,7 +1547,7 @@ extern void outl(unsigned int a, unsigned int l);
# include <sys/types.h>
#endif
# ifndef __HIGHC__
-# ifndef __USLC__
+# if !defined(__USLC__) && !defined(__SUNPRO_C)
# define __USLC__
# endif
# endif
@@ -1557,13 +1566,14 @@ extern void outl(unsigned int a, unsigned int l);
# include <sys/types.h>
# endif /* IN_MODULE */
# endif /* USL */
-# ifndef sgi
-# include <sys/inline.h>
+# if !defined(sgi) && !defined(__SUNPRO_C)
+# include <sys/inline.h>
# endif
# else
# include "scoasm.h"
# endif
-# if !defined(__HIGHC__) && !defined(SCO325) && !defined(sgi)
+# if !defined(__HIGHC__) && !defined(SCO325) && !defined(sgi) && \
+ !defined(__SUNPRO_C)
# pragma asm partial_optimization outl
# pragma asm partial_optimization outw
# pragma asm partial_optimization outb
diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h
index e189e81d2..313d43015 100644
--- a/hw/xfree86/common/xf86.h
+++ b/hw/xfree86/common/xf86.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86.h,v 3.172 2003/09/24 02:43:16 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86.h,v 3.173 2004/01/27 01:31:44 dawes Exp $ */
/*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
@@ -57,7 +57,6 @@ extern int xf86PixmapIndex;
extern Bool xf86ResAccessEnter;
extern ScrnInfoPtr *xf86Screens; /* List of pointers to ScrnInfoRecs */
extern const unsigned char byte_reversed[256];
-extern PropertyPtr *xf86RegisteredPropertiesTable;
extern ScrnInfoPtr xf86CurrentScreen;
extern Bool pciSlotClaimed;
extern Bool isaSlotClaimed;
diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c
index 159d3de71..7c773fee6 100644
--- a/hw/xfree86/common/xf86AutoConfig.c
+++ b/hw/xfree86/common/xf86AutoConfig.c
@@ -12,43 +12,26 @@
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions, and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
*
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment: "This product
- * includes software developed by X-Oz Technologies
- * (http://www.x-oz.com/)." Alternately, this acknowledgment may
- * appear in the software itself, if and wherever such third-party
- * acknowledgments normally appear.
- *
- * 4. Except as contained in this notice, the name of X-Oz
- * Technologies shall not be used in advertising or otherwise to
- * promote the sale, use or other dealings in this Software without
- * prior written authorization from X-Oz Technologies.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL X-OZ TECHNOLOGIES OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
- * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the copyright holder(s)
+ * and author(s) shall not be used in advertising or otherwise to promote
+ * the sale, use or other dealings in this Software without prior written
+ * authorization from the copyright holder(s) and author(s).
*
* Author: David Dawes <dawes@XFree86.Org>.
*/
-/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86AutoConfig.c,v 1.3 2003/12/12 00:39:16 dawes Exp $ */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86AutoConfig.c,v 1.3 2003/12/12 00:39:16 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86AutoConfig.c,v 1.2 2003/11/03 05:11:01 tsi Exp $ */
#include "xf86.h"
#include "xf86Parser.h"
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
index 2ffbfa964..5e002c8db 100644
--- a/hw/xfree86/common/xf86Bus.c
+++ b/hw/xfree86/common/xf86Bus.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Bus.c,v 1.79 2003/11/03 05:11:01 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Bus.c,v 1.80 2004/02/05 18:24:59 eich Exp $ */
/*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
*
@@ -525,14 +525,14 @@ disableAccess(void)
for (i = 0; i < xf86NumScreens; i++) {
peacc = xf86Screens[i]->CurrentAccess->pIoAccess;
while (peacc) {
- if (peacc->pAccess->AccessDisable)
+ if (peacc->pAccess && peacc->pAccess->AccessDisable)
peacc->pAccess->AccessDisable(peacc->pAccess->arg);
peacc = peacc->next;
}
xf86Screens[i]->CurrentAccess->pIoAccess = NULL;
peacc = xf86Screens[i]->CurrentAccess->pMemAccess;
while (peacc) {
- if (peacc->pAccess->AccessDisable)
+ if (peacc->pAccess && peacc->pAccess->AccessDisable)
peacc->pAccess->AccessDisable(peacc->pAccess->arg);
peacc = peacc->next;
}
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index fc741e01e..fbfa285f6 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86Config.c,v 3.277 2003/10/15 22:51:48 dawes Exp $ */
+/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86Config.c,v 1.1.4.4 2004/02/25 21:46:46 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Config.c,v 3.277 2003/10/15 22:51:48 dawes Exp $ */
@@ -1060,13 +1060,13 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
#ifdef XINERAMA
from = X_DEFAULT;
- if (!noXineramaExtension)
+ if (!noPanoramiXExtension)
from = X_CMDLINE;
else if (xf86GetOptValBool(FlagOptions, FLAG_XINERAMA, &value)) {
- noXineramaExtension = !value;
+ noPanoramiXExtension = !value;
from = X_CONFIG;
}
- if (!noXineramaExtension)
+ if (!noPanoramiXExtension)
xf86Msg(from, "Xinerama: enabled\n");
#endif
diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c
index dce27fa63..a0267f8ac 100644
--- a/hw/xfree86/common/xf86DGA.c
+++ b/hw/xfree86/common/xf86DGA.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86DGA.c,v 1.47 2003/08/24 17:36:51 dawes Exp $ */
+/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86DGA.c,v 1.1.4.3 2004/02/25 21:46:46 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86DGA.c,v 1.47 2003/08/24 17:36:51 dawes Exp $ */
/*
* Copyright (c) 1998-2002 by The XFree86 Project, Inc.
@@ -141,7 +141,7 @@ DGAInit(
modes[i].num = i + 1;
#ifdef XINERAMA
- if(!noXineramaExtension)
+ if(!noPanoramiXExtension)
for(i = 0; i < num; i++)
modes[i].flags &= ~DGA_PIXMAP_AVAILABLE;
#endif
diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c
index c6dee3731..a2bb3f504 100644
--- a/hw/xfree86/common/xf86Globals.c
+++ b/hw/xfree86/common/xf86Globals.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Globals.c,v 1.41 2003/08/24 17:36:52 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Globals.c,v 1.42 2004/01/27 01:31:44 dawes Exp $ */
/*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
@@ -236,7 +236,7 @@ Bool xf86VidModeAllowNonLocal = FALSE;
Bool xf86MiscModInDevDisabled = FALSE;
Bool xf86MiscModInDevAllowNonLocal = FALSE;
#endif
-PropertyPtr *xf86RegisteredPropertiesTable = NULL;
+RootWinPropPtr *xf86RegisteredPropertiesTable = NULL;
Bool xf86inSuspend = FALSE;
#ifdef DLOPEN_HACK
diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
index 713e7861a..076a97f16 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Helper.c,v 1.135 2003/10/08 14:58:27 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Helper.c,v 1.136 2004/01/27 01:31:45 dawes Exp $ */
/*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
@@ -2888,11 +2888,12 @@ int
xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
int format, unsigned long len, pointer value )
{
- PropertyPtr pNewProp, pRegProp;
+ RootWinPropPtr pNewProp = NULL, pRegProp;
int i;
+ Bool existing = FALSE;
#ifdef DEBUG
- ErrorF("xf86RegisterRootWindowProperty(%d, %d, %d, %d, %d, %p)\n",
+ ErrorF("xf86RegisterRootWindowProperty(%d, %ld, %ld, %d, %ld, %p)\n",
ScrnIndex, property, type, format, len, value);
#endif
@@ -2900,19 +2901,35 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
return(BadMatch);
}
- if ( (pNewProp = (PropertyPtr)xalloc(sizeof(PropertyRec)))==NULL ) {
- return(BadAlloc);
+ if (xf86RegisteredPropertiesTable &&
+ xf86RegisteredPropertiesTable[ScrnIndex]) {
+ for (pNewProp = xf86RegisteredPropertiesTable[ScrnIndex];
+ pNewProp; pNewProp = pNewProp->next) {
+ if (strcmp(pNewProp->name, NameForAtom(property)) == 0)
+ break;
+ }
+ }
+
+ if (!pNewProp) {
+ if ((pNewProp = (RootWinPropPtr)xalloc(sizeof(RootWinProp))) == NULL) {
+ return(BadAlloc);
+ }
+ /*
+ * We will put this property at the end of the list so that
+ * the changes are made in the order they were requested.
+ */
+ pNewProp->next = NULL;
+ } else {
+ if (pNewProp->name)
+ xfree(pNewProp->name);
+ existing = TRUE;
}
- pNewProp->propertyName = property;
+ pNewProp->name = xnfstrdup(NameForAtom(property));
pNewProp->type = type;
pNewProp->format = format;
pNewProp->size = len;
pNewProp->data = value;
- /* We will put this property at the end of the list so that
- * the changes are made in the order they were requested.
- */
- pNewProp->next = NULL;
#ifdef DEBUG
ErrorF("new property filled\n");
@@ -2923,7 +2940,7 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
ErrorF("creating xf86RegisteredPropertiesTable[] size %d\n",
xf86NumScreens);
#endif
- if ( NULL==(xf86RegisteredPropertiesTable=(PropertyPtr*)xnfcalloc(sizeof(PropertyPtr),xf86NumScreens) )) {
+ if ( NULL==(xf86RegisteredPropertiesTable=(RootWinPropPtr*)xnfcalloc(sizeof(RootWinProp),xf86NumScreens) )) {
return(BadAlloc);
}
for (i=0; i<xf86NumScreens; i++) {
@@ -2933,22 +2950,24 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
#ifdef DEBUG
ErrorF("xf86RegisteredPropertiesTable %p\n",
- xf86RegisteredPropertiesTable);
+ (void *)xf86RegisteredPropertiesTable);
ErrorF("xf86RegisteredPropertiesTable[%d] %p\n",
- ScrnIndex, xf86RegisteredPropertiesTable[ScrnIndex]);
+ ScrnIndex, (void *)xf86RegisteredPropertiesTable[ScrnIndex]);
#endif
- if ( xf86RegisteredPropertiesTable[ScrnIndex] == NULL) {
- xf86RegisteredPropertiesTable[ScrnIndex] = pNewProp;
- } else {
- pRegProp = xf86RegisteredPropertiesTable[ScrnIndex];
- while (pRegProp->next != NULL) {
+ if (!existing) {
+ if ( xf86RegisteredPropertiesTable[ScrnIndex] == NULL) {
+ xf86RegisteredPropertiesTable[ScrnIndex] = pNewProp;
+ } else {
+ pRegProp = xf86RegisteredPropertiesTable[ScrnIndex];
+ while (pRegProp->next != NULL) {
#ifdef DEBUG
- ErrorF("- next %p\n", pRegProp);
+ ErrorF("- next %p\n", (void *)pRegProp);
#endif
- pRegProp = pRegProp->next;
+ pRegProp = pRegProp->next;
+ }
+ pRegProp->next = pNewProp;
}
- pRegProp->next = pNewProp;
}
#ifdef DEBUG
ErrorF("xf86RegisterRootWindowProperty succeeded\n");
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index ce8817096..701397cd9 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Init.c,v 3.211 2003/11/01 00:47:01 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Init.c,v 3.212 2004/01/27 01:31:45 dawes Exp $ */
/*
* Loosely based on code bearing the following copyright:
@@ -155,7 +155,7 @@ xf86CreateRootWindow(WindowPtr pWin)
int ret = TRUE;
int err = Success;
ScreenPtr pScreen = pWin->drawable.pScreen;
- PropertyPtr pRegProp, pOldRegProp;
+ RootWinPropPtr pProp;
CreateWindowProcPtr CreateWindow =
(CreateWindowProcPtr)(pScreen->devPrivates[xf86CreateRootWindowIndex].ptr);
@@ -181,25 +181,19 @@ xf86CreateRootWindow(WindowPtr pWin)
}
/* Now do our stuff */
-
if (xf86RegisteredPropertiesTable != NULL) {
if (pWin->parent == NULL && xf86RegisteredPropertiesTable != NULL) {
- for (pRegProp = xf86RegisteredPropertiesTable[pScreen->myNum];
- pRegProp != NULL && err==Success;
- pRegProp = pRegProp->next )
+ for (pProp = xf86RegisteredPropertiesTable[pScreen->myNum];
+ pProp != NULL && err==Success;
+ pProp = pProp->next )
{
- Atom oldNameAtom = pRegProp->propertyName;
- char *nameString;
- /* propertyName was created before the screen existed,
- * so the atom does not belong to any screen;
- * we need to create a new atom with the same name.
- */
- nameString = NameForAtom(oldNameAtom);
- pRegProp->propertyName = MakeAtom(nameString, strlen(nameString), TRUE);
+ Atom prop;
+
+ prop = MakeAtom(pProp->name, strlen(pProp->name), TRUE);
err = ChangeWindowProperty(pWin,
- pRegProp->propertyName, pRegProp->type,
- pRegProp->format, PropModeReplace,
- pRegProp->size, pRegProp->data,
+ prop, pProp->type,
+ pProp->format, PropModeReplace,
+ pProp->size, pProp->data,
FALSE
);
}
@@ -207,14 +201,6 @@ xf86CreateRootWindow(WindowPtr pWin)
/* Look at err */
ret &= (err==Success);
- /* free memory */
- pOldRegProp = xf86RegisteredPropertiesTable[pScreen->myNum];
- while (pOldRegProp!=NULL) {
- pRegProp = pOldRegProp->next;
- xfree(pOldRegProp);
- pOldRegProp = pRegProp;
- }
- xf86RegisteredPropertiesTable[pScreen->myNum] = NULL;
} else {
xf86Msg(X_ERROR, "xf86CreateRootWindow unexpectedly called with "
"non-root window %p (parent %p)\n",
@@ -303,7 +289,6 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
xf86ScreenIndex = AllocateScreenPrivateIndex();
xf86CreateRootWindowIndex = AllocateScreenPrivateIndex();
xf86PixmapIndex = AllocatePixmapPrivateIndex();
- xf86RegisteredPropertiesTable=NULL;
generation = serverGeneration;
}
@@ -749,6 +734,32 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
}
formatsDone = TRUE;
+ if (xf86Info.vtno >= 0 ) {
+#define VT_ATOM_NAME "XFree86_VT"
+ Atom VTAtom=-1;
+ CARD32 *VT = NULL;
+ int ret;
+
+ /* This memory needs to stay available until the screen has been
+ initialized, and we can create the property for real.
+ */
+ if ( (VT = xalloc(sizeof(CARD32)))==NULL ) {
+ FatalError("Unable to make VT property - out of memory. Exiting...\n");
+ }
+ *VT = xf86Info.vtno;
+
+ VTAtom = MakeAtom(VT_ATOM_NAME, sizeof(VT_ATOM_NAME), TRUE);
+
+ for (i = 0, ret = Success; i < xf86NumScreens && ret == Success; i++) {
+ ret = xf86RegisterRootWindowProperty(xf86Screens[i]->scrnIndex,
+ VTAtom, XA_INTEGER, 32,
+ 1, VT );
+ if (ret != Success)
+ xf86DrvMsg(xf86Screens[i]->scrnIndex, X_WARNING,
+ "Failed to register VT property\n");
+ }
+ }
+
/* If a screen uses depth 24, show what the pixmap format is */
for (i = 0; i < xf86NumScreens; i++) {
if (xf86Screens[i]->depth == 24) {
@@ -1251,8 +1262,8 @@ AbortDDX()
void
OsVendorFatalError()
{
- ErrorF("\nWhen reporting a problem related to a server crash, please send\n"
- "the full server output, not just the last messages.\n");
+ ErrorF("\nWhen reporting a problem related to a server crash, please\n"
+ "send the full server output, not just the last messages.\n");
if (xf86LogFile && xf86LogFileWasOpened)
ErrorF("This can be found in the log file \"%s\".\n", xf86LogFile);
ErrorF("Please report problems to %s.\n", BUILDERADDR);
@@ -1703,14 +1714,15 @@ xf86PrintBanner()
{
#if PRE_RELEASE
ErrorF("\n"
- "This is a pre-release version of XFree86, and is not supported in any\n"
- "way. Bugs may be reported to XFree86@XFree86.Org and patches submitted\n"
- "to fixes@XFree86.Org. Before reporting bugs in pre-release versions,\n"
- "please check the latest version in the XFree86 CVS repository\n"
- "(http://www.XFree86.Org/cvs).\n");
-#endif
- ErrorF("\nXFree86 Version %d.%d.%d", XF86_VERSION_MAJOR, XF86_VERSION_MINOR,
- XF86_VERSION_PATCH);
+ "This is a pre-release version of the X.org Foundation's X11.\n"
+ "Portions of this release are based on XFree86 4.4RC2 and selected\n"
+ "files from XFree86 4.4RC3. It is not supported in any way.\n"
+ "Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.\n"
+ "Select the \"xorg\" product for bugs you find in this release.\n"
+ "Before reporting bugs in pre-release versions please check the\n"
+ "latest version in the X.org Foundation \"monolithic tree\" CVS\n"
+ "repository hosted at http://www.freedesktop.org/Software/xorg/");
+#endif
#if XF86_VERSION_SNAP > 0
ErrorF(".%d", XF86_VERSION_SNAP);
#endif
diff --git a/hw/xfree86/common/xf86Mode.c b/hw/xfree86/common/xf86Mode.c
index 392229ce9..459bb2dba 100644
--- a/hw/xfree86/common/xf86Mode.c
+++ b/hw/xfree86/common/xf86Mode.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86Mode.c,v 1.1.4.3 2004/02/25 21:46:46 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Mode.c,v 1.69 2003/10/08 14:58:28 dawes Exp $ */
/*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
@@ -1683,7 +1683,7 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
#ifdef RANDR
if (!xf86Info.disableRandR
#ifdef XINERAMA
- && noXineramaExtension
+ && noPanoramiXExtension
#endif
)
validateAllDefaultModes = TRUE;
diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h
index a46bfc39b..82df2aead 100644
--- a/hw/xfree86/common/xf86Priv.h
+++ b/hw/xfree86/common/xf86Priv.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Priv.h,v 3.82 2003/09/09 03:20:36 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Priv.h,v 3.83 2004/01/27 01:31:45 dawes Exp $ */
/*
* Copyright (c) 1997-2002 by The XFree86 Project, Inc.
@@ -113,6 +113,8 @@ extern int xf86LogVerbose; /* log file verbosity level */
extern Bool xf86ProbeOnly;
extern Bool xf86DoProbe;
+extern RootWinPropPtr *xf86RegisteredPropertiesTable;
+
#ifndef DEFAULT_VERBOSE
#define DEFAULT_VERBOSE 0
#endif
diff --git a/hw/xfree86/common/xf86Privstr.h b/hw/xfree86/common/xf86Privstr.h
index 8b0a0f4ce..93d64fd51 100644
--- a/hw/xfree86/common/xf86Privstr.h
+++ b/hw/xfree86/common/xf86Privstr.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Privstr.h,v 1.40 2003/10/17 20:02:12 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Privstr.h,v 1.41 2004/01/27 01:31:45 dawes Exp $ */
/*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
@@ -198,6 +198,16 @@ typedef struct {
} VidModeRec, *VidModePtr;
#endif
+/* Information for root window properties. */
+typedef struct _RootWinProp {
+ struct _RootWinProp * next;
+ char * name;
+ Atom type;
+ short format;
+ long size;
+ pointer data;
+} RootWinProp, *RootWinPropPtr;
+
/* private resource types */
#define ResNoAvoid ResBios
diff --git a/hw/xfree86/common/xf86RandR.c b/hw/xfree86/common/xf86RandR.c
index 165ddf771..f69adbb15 100644
--- a/hw/xfree86/common/xf86RandR.c
+++ b/hw/xfree86/common/xf86RandR.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86RandR.c,v 1.1.4.3 2004/02/25 21:46:46 kaleb Exp $ */
/*
* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86RandR.c,v 1.8 2003/11/10 16:42:13 tsi Exp $
*
@@ -246,7 +246,7 @@ xf86RandRInit (ScreenPtr pScreen)
#ifdef XINERAMA
/* XXX disable RandR when using Xinerama */
- if (!noXineramaExtension)
+ if (!noPanoramiXExtension)
return TRUE;
#endif
if (xf86RandRGeneration != serverGeneration)
diff --git a/hw/xfree86/common/xf86cmap.c b/hw/xfree86/common/xf86cmap.c
index f7cb065a4..c3b09e361 100644
--- a/hw/xfree86/common/xf86cmap.c
+++ b/hw/xfree86/common/xf86cmap.c
@@ -1,3 +1,4 @@
+/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86cmap.c,v 1.1.4.2 2004/02/16 20:19:59 alanc Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86cmap.c,v 1.25 2003/10/17 20:02:12 alanh Exp $ */
/*
* Copyright (c) 1998-2001 by The XFree86 Project, Inc.
@@ -26,7 +27,8 @@
* authorization from the copyright holder(s) and author(s).
*/
-#if defined(_XOPEN_SOURCE) || defined(__QNXNTO__)
+#if defined(_XOPEN_SOURCE) || defined(__QNXNTO__) \
+ || (defined(sun) && defined(__SVR4))
#include <math.h>
#else
#define _XOPEN_SOURCE /* to get prototype for pow on some systems */
diff --git a/hw/xfree86/dixmods/extmod/modinit.h b/hw/xfree86/dixmods/extmod/modinit.h
index d909cb483..b574d02f4 100644
--- a/hw/xfree86/dixmods/extmod/modinit.h
+++ b/hw/xfree86/dixmods/extmod/modinit.h
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/Xext/extmod/modinit.h,v 1.1.4.2 2004/02/25 21:46:34 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/Xext/extmod/modinit.h,v 1.2 2003/09/13 21:33:04 dawes Exp $ */
#ifndef INITARGS
@@ -137,7 +137,7 @@ extern void XpExtensionInit(INITARGS);
#endif
#if 1
-extern void XineramaExtensionInit(int argc, char *argv[]);
+extern void PanoramiXExtensionInit(int argc, char *argv[]);
#endif
#if 1
diff --git a/hw/xfree86/doc/README.fonts b/hw/xfree86/doc/README.fonts
index 230e29c78..2fe8dfaac 100644
--- a/hw/xfree86/doc/README.fonts
+++ b/hw/xfree86/doc/README.fonts
@@ -987,23 +987,28 @@ earlier in this document.
The `X-TrueType' backend is a backend based on version 1 of the FreeType
library. X-TrueType doesn't use the `fontenc' layer for managing font encod-
-ings, but instead uses its own database of encodings. Since the functionali-
-ties for CJKV support introduced by X-TT have been merged into the new
-FreeType backend, the X-TT backend will be removed from XFree86's tree near
-the future. Therefore, the use of FreeType backend is preferred over the X-
-TT backend. General information on X-TrueType may be found at ."
+ings, but instead uses its own database of encodings.
+
+Since the functionalities for CJKV support introduced by X-TT have been
+merged into the new FreeType backend, the X-TT backend will be removed from
+XFree86's tree near the future. Therefore, the use of FreeType backend is
+preferred over the X-TT backend.
+
+General information on X-TrueType may be found at the After X-TT Project page
+<URL:http://x-tt.sourceforge.jp/>.
4.2.3 Delayed glyph rasterisation
-When loading a large character set, the old FreeType delayed glyph rasterisa-
-tion until the time at which the glyph was first used. The new FreeType
-(libfreetype-xtt2) has an improved `very lazy' metric calculation method to
-speed up the process when loading TrueType or OpenType fonts. Although the
-X-TT module also has this method, the "vl=y" TTCap option must be set if you
-want to use it. This is the default method for FreeType when it loads multi-
-byte fonts. Even if you use a unicode font which has tens of thousands of
-glyphs, this delay will not be worrisome as long as you use the new FreeType
-backend -- its `very lazy' method is super-fast.
+When loading a proportional fonts which contain a huge number of glyphs, the
+old FreeType delayed glyph rasterisation until the time at which the glyph
+was first used. The new FreeType (libfreetype-xtt2) has an improved `very
+lazy' metric calculation method to speed up the process when loading TrueType
+or OpenType fonts. Although the X-TT module also has this method, the
+"vl=y" TTCap option must be set if you want to use it. This is the default
+method for FreeType when it loads multi-byte fonts. Even if you use a uni-
+code font which has tens of thousands of glyphs, this delay will not be wor-
+risome as long as you use the new FreeType backend -- its `very lazy' method
+is super-fast.
The maximum error of bitmap position using `very lazy' method is 1 pixel, and
is the same as that of a character-cell spacing. When the X-TT backend is
@@ -1176,7 +1181,7 @@ The IANA RFC documents, available from a number of sites throughout the
world, often provide interesting information about character set issues; see
for example RFC 373.
- Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml,v 1.23 dawes Exp $
+ Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml,v 1.24 dawes Exp $
-$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.fonts,v 1.27 2003/11/24 01:57:56 dawes Exp $
+$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.fonts,v 1.28 2003/12/20 19:47:28 dawes Exp $
diff --git a/hw/xfree86/doc/changelogs/CHANGELOG b/hw/xfree86/doc/changelogs/CHANGELOG
index 3e6f9d210..1a8920321 100644
--- a/hw/xfree86/doc/changelogs/CHANGELOG
+++ b/hw/xfree86/doc/changelogs/CHANGELOG
@@ -1,4 +1,259 @@
-XFree86 4.3.99.903 (xx December 2003)
+XFree86 4.3.99.904 (xx February 2004)
+
+XFree86 4.3.99.903 (15 February 2004)
+ 805. Resync the pci.ids data with pciids.sf.net (2004-02-15 snapshot).
+ 804. Improve X server performance on OS/2 when using TCP transport:
+ - Let the server set TCP_NODELAY, et al.
+ - Change the behavior of os2PseudoSelect() on sockets.
+ (Bugzilla #1175, Frank Giessler).
+ 803. X server on OS/2 doesn't respect AutoRepeat on/off unless XKB is disabled
+ (Bugzilla #1174, Frank Giessler).
+ 802. Licence update.
+ 801. Optimise SlowBcopy() for ia64 architecture (Marc La France).
+ 800. Simplify vgaHWSaveFonts() and vgaHWRestoreFonts() to fix hangs seen with
+ certain nVidia boards on ZX1-based systems (Marc La France).
+ 799. Some more font path checks.
+ 798. Don't define X_LOCALE on Panther (Etsushi Kato and Toshimitsu Tanaka).
+ 797. Fix GL_VERSION string for indirect rendering (Bugzilla #1147, DRI Project)
+ 796. Fix the 1024x576 modes in the via driver (Bugzilla #812, Luc Verhaegen,
+ reported by Julian Cable).
+ 795. Add uz_UZ locale (Bugzilla #1151, Mashrab Kuvatov).
+ 794. Fix font alias overrun.
+ 793. Fix for the way the FreeType backend sets the
+ _ADOBE_POSTSCRIPT_FONTNAME property for Type1 fonts (Bugzilla #1123,
+ David Dawes, based on Roland Mainz, reported by David Capshaw).
+ 792. Fix formatting of the XLookupString bytes that xev prints out (Bugzilla
+ #1153, Noah Levitt).
+ 791. Likely fix for FreeBSD 5.2 libGL build problem (David Dawes, reported by
+ Terry R. Friedrichsen).
+ 790. Fix typo in bsd_mouse.c (Tyler Retzlaff).
+ 789. Fix off-by-one errors in the emulation of an ix86's BT, BTS, BTR and BTC
+ instructions (Marc La France).
+ 788. Fixing segfaults that may happen in some corner cases on VT switch
+ and int10 initialization (Egbert Eich).
+ 787. Increase PCI I/O space size on Linux/PowerPC (Bugzilla #1143,
+ Paul Mackerras).
+ 786. Fix DRI cleanup at exit and re-enabling on reset for the via driver
+ (Bugzilla #998, Thomas Hellström).
+ 785. Fix Xv error propagation to the client for the via driver (Bugzilla #998,
+ Thomas Hellström).
+ 784. Fix a problem when utilizing DrawArrays when indirect rendering
+ (Bugzilla #1142, DRI Project).
+ 783. Xterm followup fix for Bugzilla #981 (Thomas Dickey).
+ 782. Fix EXT version of vertex arrays (DRI Project).
+ 781. Fix long-standing off-by-one bug in calculating dimensions of single
+ (private) back cliprect when the window is partially offscreen in
+ libdri.a (Keith Whitwell)
+ 780. Don't do the MGAISBUSY() loop in MGAStormSync() for Mystique cards
+ because this reportedly results in an infinite loop (Bugzila #85,
+ David Dawes, reported by Phil ??? and Stéphane VOLTZ).
+ 779. Make sure the r128 driver enables the hsync and vsync signals after
+ programming a video mode (Bugzilla #935, Kevin Martin).
+ 778. Fix Multitexture problems with vertex arrays and indirect rendering
+ (Bugzilla #1092, DRI Project).
+ 777. Fix SecondaryColor & FogColor when indirect rendering (Bugzilla #1091,
+ DRI Project).
+ 776. Fix build failures on Mac OS X 10.1.x (Torrey T. Lyons).
+ 775. Fix a timing problem in the nsc driver that prevents the display from
+ working in some cases (Bugzilla #840, Hansruedi Glauser, Alan Hourihane).
+ 774. Via driver workaround to handle setting WC for the video memory when
+ initially only part of it has WC set (Bugzilla #1010 Thomas Hellström).
+ 773. Fix the XAA clipping flags for the via driver, which fixes a line
+ drawing problem seen with OpenOffice Calc (Bugzilla #1026,
+ Thomas Hellström).
+ 772. HKSCS and GB18030 support for luit (Bugzilla #1048, Zarick Lau).
+ 771. Fix some remaining memory allocation related problems with the via
+ driver (Bugzilla #998, Thomas Hellström).
+ 770. Add a UseRpath build switch to allow the use of -rpath to be enabled
+ or disabled from the host.def file. Implemented for *BSD, Hurd, Linux.
+ The default settings remains as before (David Dawes).
+ 769. Add a root window property called XFree86_VT that holds the VT number
+ that the XFree86 server is running on (Andrew Aitcheson, suggested by
+ Samuel Thibault).
+ 768. Fix a problem where root window properties registered with
+ xf86RegisterRootWindowProperty() are not re-registered after server
+ regeneration (David Dawes, reported by Samuel Thibault).
+ 767. Fix xtest failures for the savage driver's zero width lines by
+ removing the TwoPointLine and using only the Bresenham version
+ (reported by Nicolas Joly).
+ 766. Fix refresh rate setting for 845G/856G systems that don't support the
+ Intel-specific refresh rate BIOS calls (Bugzilla #1106, David Dawes,
+ reported by Lucian Precup).
+ 765. Fixes/build updates for BSD/OS 5.1 and 4.3.1 (Bugzilla #1111, Kurt Lidl).
+ 764. Fix a problem in libXmu's FindChildren() that can cause a crash by
+ copying memory from outside the bounds of an array (Bugzilla #1109,
+ John Tillman).
+ 763. Add missing TimerCallback in trident_video.c to shutdown the video.
+ This could account for many peoples lockups with video on Trident chips.
+ Also, add a Wait for vsync when programming video modes to avoid lockups.
+ (Yukun Chen, Alan Hourihane).
+ 762. Fix a lockup problem on Trident Blade3D engines by permanently turning
+ on PCI Retry. Also sync the engine on CloseScreen and LeaveVT.
+ (Yukun Chen, Alan Hourihane).
+ 761. Fix getaddrinfo() return value check in SmsGenerateClientID() that was
+ causing a crash when the current hostname is unresolved, and returning
+ a NULL id otherwise (Bugzilla #1096, David Dawes).
+ 760. Support automatic configuration of the X server on OpenBSD with
+ wsmouse-supported mices. (Matthieu Herrb).
+ 759. Updates for XKB keyboard maps:
+ - Add Tibetan/Dzongkha keyboard layout (Bugzilla #1082, Gregory Mokhin).
+ - Add three new Internet/multimedia keyboard descriptions
+ (Bugzilla #1088, Radics Laszlo).
+ 758. Add overlooked SecondaryColor entries to AppleDRI indirect dispatch
+ table (Torrey T. Lyons).
+ 757. Allocate pBIOSInfo->UserSetting in the via driver, which fixes a crash
+ (James Harris).
+ 756. Fix Linux drm kernel modules to handle the nopage() prototype change in
+ Linux 2.6.1 (Michel Dänzer, from DRI CVS).
+ 755. Fix use of dynamic xcursors on OS/2 (Bugzilla #1087, Frank Giessler).
+ 754. Fix the fbdev driver so that it allows 24-bit pixel size, and disable
+ the RandR extension when rotation is enabled (Jonathan Thambidurai).
+ 753. Rendition driver fixes:
+ - Fix the mode size limits so that the set of modes that the driver
+ accepts isn't unnecessarily restricted.
+ - Fix color palette refreshing after VT switching.
+ - Fix a core dump at server exit with the hardware cursor was enabled.
+ - Add checking for supported depths. Without this the server could
+ crash if an unsupported depth was specified.
+ (Eric Wittry)
+ 752. Update XKB registry file rules/xfree86.xml (Sergey Oudaltsov).
+ 751. Fix some rules in en_US.UTF-8 Compose file (Bugzilla #1071,
+ Matthew Fischer).
+ 750. Add some content (supported hardware and driver options) to the tdfx(4)
+ man page (Bugzilla #1068, Nicolas Joly).
+ 749. Make '-pn' (partial network) the default for all X servers, and document
+ the '-nopn' option (David Dawes).
+ 748. Allow rstartd.real to be installed into a location other than LIBDIR
+ (#6034, Luke Mewburn).
+ 747. Allow xdm's chooser to be installed into a directory other than LIBDIR
+ (#6033, Luke Mewburn).
+ 746. Add XKB description for the Logitech Access keyboard (#6026,
+ Michael Geddes).
+ 745. Fix typo in computing xterm's relative font size (Jess Thrysoee).
+ 744. Fix typo in savage man page (Bugzilla #1065, Nicolas Joly).
+ 743. Fix for xf86Msg() call with swapped arguments (Bugzilla #1064,
+ Nicolas Joly).
+ 742. Set the dependencies correctly for SCO shared libraries, and use gcc
+ for linking instead of ld (Bugzilla #1045, Kean Johnston).
+ 741. Some cleanups for the SCO support, and a few changes required for
+ compilation on UnixWare (Bugzilla #1045, Kean Johnston).
+ 740. Make the X server lock file code treat the display string in the same
+ way as the local listener code (i.e., convert it to an integer then back
+ to a string). This fixes a problem where an non-numeric display
+ argument could cause a second server to be started on display :0,
+ replacing the local listener nodes for the original server.
+ (Bugzilla #1056, David Dawes, reported by Robin Schoonover).
+ 739. Fix xfs and xdm core dumps in BecomeOrphan(), and rework/simplify
+ the BecomeDaemon() code (Bugzilla #1060, #1074, David Dawes,
+ reported by Martin Birgmeier).
+ 738. Add a "VBERestore" option for the i830 part of the i810 driver, to
+ allow the VBE restore bug workaround to be disabled. This is needed
+ for correct text mode restoration on some 830M-based machines
+ (David Dawes, reported by Martin van Es).
+ 737. Fix memory leak when list of registered renderers are cleared at the
+ start of each new server generation (Kevin Martin and Rik Faith).
+ 736. Fix memory double freeing at XIM destroying in imLcIm.c (Ivan Pascal,
+ reported: Bugzilla #1015).
+ 735. Add xkb keymap for Microsoft Mutimedia Keyboard keys (Bugzilla #1052,
+ Jacques Legare).
+ 734. Update Compose file for en_US.UTF-8 locale (Bugzilla #1053,
+ Matthew Fischer) and fix wrong comment signs there (Ivan Pascal).
+ 733. VIA driver fixes:
+ - Restructure the via driver's cache allocation to work with both
+ the VIA and new open DRI module, and remove the now unneeded
+ version check (Thomas Hellström, Alan Cox, bugzilla #998).
+ - Remove special case lindvd hack (Alan Cox)
+ - Add support for Xv when unaccelerated (Thomas Hellström)
+ (Bugzilla #998, #1020, #1021).
+ 732. Check for a NULL argument in XSetICFocus() before dereferencing it.
+ This fixes crashes with some XIM software (see
+ http://bugzilla.mozilla.gr.jp/show_bug.cgi?id=2961#c19).
+ 731. Improve the i810 bitblt bug workaround, and re-enable the pixmap cache
+ at depth 24 (David Dawes).
+ 730. Workaround for lockup at mode switch with an i810 (David Dawes).
+ 729. Fix transparent mono 8x8 pattern fills for the i810 (David Dawes).
+ 728. Disable XKB by default in XDarwin (Torrey T. Lyons).
+ 727. Fix manpage build warnings on Panther (Matthieu Herrb).
+ 726. Make sure that the ring buffer is flushed in I810CloseScreen(). This
+ fixes unpredictable behaviour that sometimes shows up after server
+ exit/restart or server reset, including memory corruption, spontaneous
+ reboots, etc, and some odd xtest behaviour (David Dawes).
+ 725. Xdmcp fixes for IPv6 and mixed IPv6/IPv4 operation. (Mario Klebsch,
+ Matthieu Herrb).
+ 724. Update rman by merging XFree86 changes to rman 3.2 (Thomas Dickey).
+ 723. Create fonts.scale and fonts.dir files in the target directories at
+ 'make install' time. This fixes several problems where some font
+ entries get left out (David Dawes).
+ 722. Add the Bitstream Vera fonts (Bitstream, Inc and The Gnome Project).
+ 721. Xterm patches #183, #184 (Thomas Dickey).
+ 720. Build fix for the Chips driver on Linux/arm (#6011, Michel Dänzer and
+ Othmar Pasteka).
+ 719. Change v4l "norm" names to the bttv versions (#5993,
+ Marco Antonio Alvarez).
+ 718. Fix for symbols/hr map (#5991, Vlatko Kosturjak).
+ 717. The current VIA DRI driver isn't remotely compatible with the current
+ code, so make sure it isn't loaded by requiring version 2.0.0 or later
+ (Alan Cox).
+ 716. Fix VIA KM400 memory detection (Luc Verhaegen, Bugzilla #813).
+ 715. Fix a long standing VIA Xv problem with totem/xine and YUV surface
+ types (Uberto Barbini).
+ 714. VIA driver updates/fixes:
+ - Remove HARDWARE_NEEDS_PROGRAMMED_ORIGIN (Bugzilla #1011).
+ - Allocate the UserSetting structure and use it. Changed the names so
+ its uses can be tracked through the tree (Bugzilla #1006, #1014).
+ - Remove dead FIFO handling code.
+ - Clean up formatting in via_bios.h, via_driver.h.
+ - via_tuner module (1/2 of Bugzilla #1012, #1013):
+ + Add via_tuner structures and methods.
+ + Handle the back end work for boards with Philips SAA71xx
+ devices on the I2C bus providing one or two TV overlays.
+ + Handle CXA2104S audio decoder if present.
+ + Handle FI1236 TV tuners if present.
+ - Remove bogus DriverVersion, DriverName stuff.
+ - Xv updates (Bugzilla #1013):
+ + Remove DDR mode tables and compute supported overlay modes properly.
+ + Remove various bits of dead code.
+ + Probe for Tuners in the Xv setup.
+ + Don't advertise XvImageMask on the tuner overlays - they can't do it.
+ + Clean up tuner channel computation.
+ + Make the property setting code use the via_tuner backend.
+ + Fix formatting of the various YUV copying loops.
+ (Alan Cox).
+ 713. Add a missing code for jisx0208.1990-0.enc (Chisato Yamauchi).
+ 712. Xtt2 update: Restore the behaviour of "bw" TTCap option for Netscape 4.x.
+ (Chisato Yamauchi).
+ 711. Fix neomagic driver default mode selection to match the detected
+ panel size. This allows it to work correctly with automatic
+ configuration (David Dawes).
+ 710. Fixes and updates for XKB keyboard maps:
+ - Fix Armenian phonetic keymap (Bugzilla #1016, Ani).
+ - Fix rules for Brasilian ABNT2 keyboard (Ricardo Y. Igarashi).
+ - Add Shift+CapsLock group switcher (Ivan Pascal, see Bugzilla #1025).
+ - Update rules/xfree86.lst with missing descriptions (Ivan Pascal).
+ 709. Build fix for Solaris Express (Bugzilla #1032, Alan Coopersmith).
+ 708. Fix warning in lib/Xt/Alloc.c (Bugzilla #1035, Nicolas Joly).
+ 707. Fix short overflow problem with box clipping in fb/fbcopy.c
+ (Bugzilla #978, Stephen McCamant).
+ 706. Fix logic in xterm's get_pty() for platforms where old-style pty's are
+ preferred to /dev/ptmx (Bugzilla #997, Kean Johnston, Thomas Dickey).
+ 705. Fix handling of eightBitInput for UTF-8 locales in xterm (Thomas Dickey).
+ 704. Merge recent cygwin-related changes from freedesktop.org's config/cf
+ (Thomas Dickey).
+ 703. Disable Xv in the via driver when acceleration is disabled (Alan Cox).
+ 702. Fix bugs caused by empty PCI buses on ZX1-based systems (Marc La France).
+ 701. Fix optional save/restore of BIOS area data in int10 module
+ (Marc La France).
+ 700. Update Swedish localization of XDarwin GUI (Patrik Montgomery).
+ 699. Fixes to build/run on cygwin (Thomas Dickey). This includes a workaround
+ for _XtInherit by Ralf Habacker, needed to run applications such as xman.
+ 698. Warning fixes for gcc 3.3.2 (Marc La France).
+ 697. Fix file descriptor leaks in xdm (Marc La France).
+ 696. Fix memory leaks in libFS (Marc La France).
+ 695. Security fix: change xdm to use mkstemp(), where available, instead of
+ mktemp() (Marc La France).
+ 694. Update XKB registry file rules/xfree86.xml (Sergey Oudaltsov).
+ 693. Fix for FreeType-related crash when attempting to draw a missing glyph
+ with constant-width fonts (Chisato Yamauchi).
XFree86 4.3.99.902 (18 December 2003)
672. Fixes for xterm (Thomas Dickey):
@@ -18391,7 +18646,7 @@ XFree86 3.0a (28 April 1994)
XFree86 3.0 (26 April 1994)
-$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.3043 2003/12/19 04:52:08 dawes Exp $
+$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.3145 2004/02/16 01:01:45 dawes Exp $
diff --git a/hw/xfree86/doc/sgml/DESIGN.sgml b/hw/xfree86/doc/sgml/DESIGN.sgml
index 365acaf1a..864b5c249 100644
--- a/hw/xfree86/doc/sgml/DESIGN.sgml
+++ b/hw/xfree86/doc/sgml/DESIGN.sgml
@@ -25,9 +25,9 @@
<article>
-<title>XFree86 X server ``New Design'' (DRAFT)
+<title>XFree86 server 4.x Design (DRAFT)
<author>The XFree86 Project, Inc
-<date>Last modified 2003 January 22
+<date>19 December 2003
@@ -36,7 +36,7 @@
<ident>
-$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.53 2003/08/23 14:10:14 dawes Exp $
+$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.54 2003/12/19 20:38:57 dawes Exp $
</ident>
diff --git a/hw/xfree86/getconfig/getconfig b/hw/xfree86/getconfig/getconfig
index 8cbb18e2e..d2acc9bb8 100644
--- a/hw/xfree86/getconfig/getconfig
+++ b/hw/xfree86/getconfig/getconfig
@@ -1,6 +1,5 @@
#!/bin/sh
-# $XdotOrg: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.sh,v 1.2 2003/09/20 01:45:57 dawes Exp $
# $DHD: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.sh,v 1.2 2003/09/20 01:45:57 dawes Exp $
#
@@ -15,42 +14,26 @@
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions, and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
#
-# 3. The end-user documentation included with the redistribution,
-# if any, must include the following acknowledgment: "This product
-# includes software developed by X-Oz Technologies
-# (http://www.x-oz.com/)." Alternately, this acknowledgment may
-# appear in the software itself, if and wherever such third-party
-# acknowledgments normally appear.
-#
-# 4. Except as contained in this notice, the name of X-Oz
-# Technologies shall not be used in advertising or otherwise to
-# promote the sale, use or other dealings in this Software without
-# prior written authorization from X-Oz Technologies.
-#
-# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL X-OZ TECHNOLOGIES OR ITS CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
-# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
-# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the copyright holder(s)
+# and author(s) shall not be used in advertising or otherwise to promote
+# the sale, use or other dealings in this Software without prior written
+# authorization from the copyright holder(s) and author(s).
#
# Author: David Dawes <dawes@XFree86.Org>.
#
-# $XFree86: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.sh,v 1.2 2003/12/12 00:39:16 dawes Exp $
+# $XFree86: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.sh,v 1.1 2003/10/08 14:58:29 dawes Exp $
# A simple wrapper to execute the real getconfig program. So long as perl
# is in $PATH, we don't need to know where it is this way.
diff --git a/hw/xfree86/getconfig/getconfig.pl b/hw/xfree86/getconfig/getconfig.pl
index 7ff0b2b6d..fcfd7d057 100644
--- a/hw/xfree86/getconfig/getconfig.pl
+++ b/hw/xfree86/getconfig/getconfig.pl
@@ -1,6 +1,5 @@
#!/usr/bin/perl
-# $XdotOrg: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.pl,v 1.13 2003/09/23 05:12:07 dawes Exp $
# $DHD: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.pl,v 1.13 2003/09/23 05:12:07 dawes Exp $
#
@@ -15,42 +14,26 @@
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions, and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
#
-# 3. The end-user documentation included with the redistribution,
-# if any, must include the following acknowledgment: "This product
-# includes software developed by X-Oz Technologies
-# (http://www.x-oz.com/)." Alternately, this acknowledgment may
-# appear in the software itself, if and wherever such third-party
-# acknowledgments normally appear.
-#
-# 4. Except as contained in this notice, the name of X-Oz
-# Technologies shall not be used in advertising or otherwise to
-# promote the sale, use or other dealings in this Software without
-# prior written authorization from X-Oz Technologies.
-#
-# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL X-OZ TECHNOLOGIES OR ITS CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
-# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
-# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the copyright holder(s)
+# and author(s) shall not be used in advertising or otherwise to promote
+# the sale, use or other dealings in this Software without prior written
+# authorization from the copyright holder(s) and author(s).
#
# Author: David Dawes <dawes@XFree86.Org>.
#
-# $XFree86: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.pl,v 1.2 2003/12/12 00:39:16 dawes Exp $
+# $XFree86: xc/programs/Xserver/hw/xfree86/getconfig/getconfig.pl,v 1.1 2003/10/08 14:58:29 dawes Exp $
#
# This script takes PCI id information, compares it against an ordered list
diff --git a/hw/xfree86/int10/helper_exec.c b/hw/xfree86/int10/helper_exec.c
index 7528fea0e..181ebb157 100644
--- a/hw/xfree86/int10/helper_exec.c
+++ b/hw/xfree86/int10/helper_exec.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/helper_exec.c,v 1.26 2003/11/06 18:38:12 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/helper_exec.c,v 1.27 2003/12/23 22:32:38 tsi Exp $ */
/*
* XFree86 int10 module
* execute BIOS int 10h calls in x86 real mode environment
@@ -56,7 +56,7 @@ setup_int(xf86Int10InfoPtr pInt)
X86_GS = 0;
X86_EFLAGS = X86_IF_MASK | X86_IOPL_MASK;
#if defined (_PC)
- if (pInt->flags & SET_BIOS_SCRATCH)
+ if (pInt->Flags & SET_BIOS_SCRATCH)
SetResetBIOSVars(pInt, TRUE);
#endif
return xf86BlockSIGIO();
@@ -76,7 +76,7 @@ finish_int(xf86Int10InfoPtr pInt, int sig)
pInt->bp = (CARD32) X86_EBP;
pInt->flags = (CARD32) X86_FLAGS;
#if defined (_PC)
- if (pInt->flags & RESTORE_BIOS_SCRATCH)
+ if (pInt->Flags & RESTORE_BIOS_SCRATCH)
SetResetBIOSVars(pInt, FALSE);
#endif
}
diff --git a/hw/xfree86/loader/coffloader.c b/hw/xfree86/loader/coffloader.c
index b2fbfcf14..1ba45dd67 100644
--- a/hw/xfree86/loader/coffloader.c
+++ b/hw/xfree86/loader/coffloader.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/coffloader.c,v 1.21 2003/10/15 17:40:15 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/coffloader.c,v 1.22 2003/12/22 17:48:11 tsi Exp $ */
/*
*
@@ -133,7 +133,9 @@ static COFFCommonPtr COFFAddCOMMON(SYMENT *, int);
static LOOKUP *COFFCreateCOMMON(COFFModulePtr);
static COFFRelocPtr COFFDelayRelocation(COFFModulePtr, int, RELOC *);
static SYMENT *COFFGetSymbol(COFFModulePtr, int);
+#if defined(i386) || defined(__powerpc__)
static unsigned char *COFFGetSymbolValue(COFFModulePtr, int);
+#endif
static COFFRelocPtr COFF_RelocateEntry(COFFModulePtr, int, RELOC *);
static LOOKUP *COFF_GetSymbols(COFFModulePtr);
static void COFFCollectSections(COFFModulePtr);
@@ -298,6 +300,7 @@ COFFGetSymbol(COFFModulePtr file, int index)
return (SYMENT *) (((unsigned char *)file->symtab) + (index * SYMESZ));
}
+#if defined(i386) || defined(__powerpc__)
static unsigned char *
COFFGetSymbolValue(COFFModulePtr cofffile, int index)
{
@@ -323,6 +326,7 @@ COFFGetSymbolValue(COFFModulePtr cofffile, int index)
xf86loaderfree(symname);
return symval;
}
+#endif
#if defined(__powerpc__)
/*
diff --git a/hw/xfree86/loader/extsym.c b/hw/xfree86/loader/extsym.c
index 638911aa4..6dc851e40 100644
--- a/hw/xfree86/loader/extsym.c
+++ b/hw/xfree86/loader/extsym.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/hw/xfree86/loader/extsym.c,v 1.1.4.3 2004/02/25 21:46:53 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/extsym.c,v 1.9 2003/10/15 16:29:03 dawes Exp $ */
/*
@@ -29,7 +29,7 @@
#include "sym.h"
#include "misc.h"
#ifdef XINERAMA
-#include "xinerama.h"
+#include "panoramiX.h"
#endif
#include "sleepuntil.h"
@@ -40,10 +40,10 @@ extern RESTYPE ShmSegType, ShmPixType;
#endif
#ifdef XINERAMA
-extern Bool noXineramaExtension;
-extern int XineramaNumScreens;
-extern XineramaData *xineramaDataPtr;
-extern XID *XineramaVisualTable;
+extern Bool noPanoramiXExtension;
+extern int PanoramiXNumScreens;
+extern PanoramiXData *panoramiXdataPtr;
+extern XID *PanoramiXVisualTable;
extern unsigned long XRT_WINDOW;
extern unsigned long XRT_PIXMAP;
extern unsigned long XRT_GC;
@@ -66,10 +66,10 @@ LOOKUP extLookupTab[] = {
#ifdef XINERAMA
SYMFUNC(XineramaRegisterConnectionBlockCallback)
SYMFUNC(XineramaDeleteResource)
- SYMVAR(noXineramaExtension)
- SYMVAR(XineramaNumScreens)
- SYMVAR(xineramaDataPtr)
- SYMVAR(XineramaVisualTable)
+ SYMVAR(noPanoramiXExtension)
+ SYMVAR(PanoramiXNumScreens)
+ SYMVAR(panoramiXdataPtr)
+ SYMVAR(PanoramiXVisualTable)
SYMVAR(XRT_WINDOW)
SYMVAR(XRT_PIXMAP)
SYMVAR(XRT_GC)
diff --git a/hw/xfree86/loader/fontsym.c b/hw/xfree86/loader/fontsym.c
index d91a2e216..1a1324fdb 100644
--- a/hw/xfree86/loader/fontsym.c
+++ b/hw/xfree86/loader/fontsym.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/fontsym.c,v 1.13 2003/10/15 16:29:04 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/fontsym.c,v 1.14 2003/12/20 20:04:34 dawes Exp $ */
/*
* Copyright (c) 1998-2002 by The XFree86 Project, Inc.
*
@@ -37,8 +37,10 @@
#include "fntfil.h"
#include "fontutil.h"
#include "fontxlfd.h"
+#ifdef FONTCACHE
#define _FONTCACHE_SERVER_
#include "fontcache.h"
+#endif
LOOKUP fontLookupTab[] = {
@@ -89,6 +91,7 @@ LOOKUP fontLookupTab[] = {
SYMFUNC(identifyEncodingFile)
#endif
+#ifdef FONTCACHE
/* fontcache.c */
SYMFUNC(FontCacheGetSettings)
SYMFUNC(FontCacheGetStatistics)
@@ -99,6 +102,7 @@ LOOKUP fontLookupTab[] = {
SYMFUNC(FontCacheGetEntry)
SYMFUNC(FontCacheInsertEntry)
SYMFUNC(FontCacheGetBitmap)
+#endif
{0, 0}
};
diff --git a/hw/xfree86/os-support/bsd/alpha_video.c b/hw/xfree86/os-support/bsd/alpha_video.c
index aa3313dc3..655ac4a83 100644
--- a/hw/xfree86/os-support/bsd/alpha_video.c
+++ b/hw/xfree86/os-support/bsd/alpha_video.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.5 2003/04/03 16:50:04 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.6 2003/12/30 15:18:30 herrb Exp $ */
/*
* Copyright 1992 by Rich Murphey <Rich@Rice.edu>
* Copyright 1993 by David Wexelblat <dwex@goblin.org>
@@ -121,7 +121,7 @@ static struct alpha_bus_window *abw;
static int abw_count = -1;
static void
-init_abw()
+init_abw(void)
{
if (abw_count < 0) {
abw_count = alpha_bus_getwindows(ALPHA_BUS_TYPE_PCI_MEM, &abw);
@@ -142,7 +142,7 @@ has_bwx(void)
}
static unsigned long
-dense_base()
+dense_base(void)
{
if (abw_count < 0)
init_abw();
@@ -154,7 +154,7 @@ dense_base()
}
static unsigned long
-memory_base()
+memory_base(void)
{
if (abw_count < 0)
init_abw();
@@ -284,11 +284,13 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem)
xf86Msg(X_PROBED,"Machine needs sparse mapping\n");
pVidMem->mapMem = mapVidMemSparse;
pVidMem->unmapMem = unmapVidMemSparse;
+#ifndef __NetBSD__
if (axpSystem == -1)
axpSystem = bsdGetAXP();
hae_thresh = xf86AXPParams[axpSystem].hae_thresh;
hae_mask = xf86AXPParams[axpSystem].hae_mask;
sparse_size = xf86AXPParams[axpSystem].size;
+#endif /* __NetBSD__ */
}
pVidMem->initialised = TRUE;
}
@@ -314,7 +316,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
MAP_FLAGS, devMemFd, (off_t)Base + BUS_BASE_BWX);
if (base == MAP_FAILED)
{
- FatalError("%s: could not mmap %s [s=%x,a=%x] (%s)\n",
+ FatalError("%s: could not mmap %s [s=%lx,a=%lx] (%s)\n",
"xf86MapVidMem", DEV_MEM, Size, Base,
strerror(errno));
}
@@ -324,7 +326,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
/* else, mmap /dev/vga */
if ((unsigned long)Base < 0xA0000 || (unsigned long)Base >= 0xC0000)
{
- FatalError("%s: Address 0x%x outside allowable range\n",
+ FatalError("%s: Address 0x%lx outside allowable range\n",
"xf86MapVidMem", Base);
}
base = mmap(0, Size,
@@ -372,7 +374,7 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
if ((long)ptr == -1)
{
xf86Msg(X_WARNING,
- "xf86ReadBIOS: %s mmap[s=%x,a=%x,o=%x] failed (%s)\n",
+ "xf86ReadBIOS: %s mmap[s=%x,a=%lx,o=%lx] failed (%s)\n",
DEV_MEM, Len, Base, Offset, strerror(errno));
return(-1);
}
@@ -446,7 +448,9 @@ xf86EnableInterrupts()
#define vuip volatile unsigned int *
+#ifndef __NetBSD__
static unsigned long msb_set = 0;
+#endif
static pointer memSBase = 0;
static pointer memBase = 0;
@@ -490,6 +494,7 @@ struct parms {
u_int64_t hae;
};
+#ifndef __NetBSD__
static int
sethae(u_int64_t hae)
{
@@ -505,6 +510,7 @@ sethae(u_int64_t hae)
return -1;
#endif
}
+#endif /* __NetBSD__ */
static pointer
mapVidMemSparse(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
@@ -552,11 +558,13 @@ static int
readSparse8(pointer Base, register unsigned long Offset)
{
register unsigned long result, shift;
+#ifndef __NetBSD__
register unsigned long msb;
-
+#endif
mem_barrier();
Offset += (unsigned long)Base - (unsigned long)memBase;
shift = (Offset & 0x3) << 3;
+#ifndef __NetBSD__
if (Offset >= (hae_thresh)) {
msb = Offset & hae_mask;
Offset -= msb;
@@ -565,7 +573,7 @@ readSparse8(pointer Base, register unsigned long Offset)
msb_set = msb;
}
}
-
+#endif
result = *(vuip) ((unsigned long)memSBase + (Offset << 5));
result >>= shift;
return 0xffUL & result;
@@ -575,11 +583,14 @@ static int
readSparse16(pointer Base, register unsigned long Offset)
{
register unsigned long result, shift;
+#ifndef __NetBSD__
register unsigned long msb;
+#endif
mem_barrier();
Offset += (unsigned long)Base - (unsigned long)memBase;
shift = (Offset & 0x2) << 3;
+#ifndef __NetBSD__
if (Offset >= (hae_thresh)) {
msb = Offset & hae_mask;
Offset -= msb;
@@ -588,6 +599,7 @@ readSparse16(pointer Base, register unsigned long Offset)
msb_set = msb;
}
}
+#endif
result = *(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2)));
result >>= shift;
return 0xffffUL & result;
@@ -603,11 +615,14 @@ readSparse32(pointer Base, register unsigned long Offset)
static void
writeSparse8(int Value, pointer Base, register unsigned long Offset)
{
+#ifndef __NetBSD__
register unsigned long msb;
+#endif
register unsigned int b = Value & 0xffU;
write_mem_barrier();
Offset += (unsigned long)Base - (unsigned long)memBase;
+#ifndef __NetBSD__
if (Offset >= (hae_thresh)) {
msb = Offset & hae_mask;
Offset -= msb;
@@ -616,17 +631,21 @@ writeSparse8(int Value, pointer Base, register unsigned long Offset)
msb_set = msb;
}
}
+#endif
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
}
static void
writeSparse16(int Value, pointer Base, register unsigned long Offset)
{
+#ifndef __NetBSD__
register unsigned long msb;
+#endif
register unsigned int w = Value & 0xffffU;
write_mem_barrier();
Offset += (unsigned long)Base - (unsigned long)memBase;
+#ifndef __NetBSD__
if (Offset >= (hae_thresh)) {
msb = Offset & hae_mask;
Offset -= msb;
@@ -635,6 +654,7 @@ writeSparse16(int Value, pointer Base, register unsigned long Offset)
msb_set = msb;
}
}
+#endif
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
w * 0x00010001;
@@ -651,10 +671,13 @@ writeSparse32(int Value, pointer Base, register unsigned long Offset)
static void
writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
{
+#ifndef __NetBSD__
register unsigned long msb;
+#endif
register unsigned int b = Value & 0xffU;
Offset += (unsigned long)Base - (unsigned long)memBase;
+#ifndef __NetBSD__
if (Offset >= (hae_thresh)) {
msb = Offset & hae_mask;
Offset -= msb;
@@ -663,16 +686,20 @@ writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
msb_set = msb;
}
}
+#endif
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
}
static void
writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
{
+#ifndef __NetBSD__
register unsigned long msb;
+#endif
register unsigned int w = Value & 0xffffU;
Offset += (unsigned long)Base - (unsigned long)memBase;
+#ifndef __NetBSD__
if (Offset >= (hae_thresh)) {
msb = Offset & hae_mask ;
Offset -= msb;
@@ -681,6 +708,7 @@ writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
msb_set = msb;
}
}
+#endif
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
w * 0x00010001;
}
diff --git a/hw/xfree86/os-support/bsd/bsd_kbd.c b/hw/xfree86/os-support/bsd/bsd_kbd.c
index 0d586ef72..3c22eeb4d 100644
--- a/hw/xfree86/os-support/bsd/bsd_kbd.c
+++ b/hw/xfree86/os-support/bsd/bsd_kbd.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c,v 1.8 2003/11/04 03:16:58 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c,v 1.9 2004/01/07 17:05:28 tsi Exp $ */
/*
* Copyright (c) 2002 by The XFree86 Project, Inc.
@@ -497,7 +497,7 @@ OpenKeyboard(InputInfoPtr pInfo)
#endif
default:
xf86Msg(X_ERROR, "%s: Unsupported wskbd type \"%d\"",
- pKbd->wsKbdType, pInfo->name);
+ pInfo->name, pKbd->wsKbdType);
close(pInfo->fd);
return FALSE;
}
diff --git a/hw/xfree86/os-support/bsd/bsd_mouse.c b/hw/xfree86/os-support/bsd/bsd_mouse.c
index 943bb9855..bb5936a1e 100644
--- a/hw/xfree86/os-support/bsd/bsd_mouse.c
+++ b/hw/xfree86/os-support/bsd/bsd_mouse.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v 1.26 2003/10/10 20:56:05 herrb Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v 1.28 2004/02/06 17:15:36 tsi Exp $ */
/*
* Copyright (c) 1999-2003 by The XFree86 Project, Inc.
@@ -80,6 +80,16 @@ static const char *mouseDevs[] = {
DEFAULT_PS2_DEV,
NULL
};
+#elif defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
+/* Only wsmouse mices are autoconfigured for now on OpenBSD */
+#define DEFAULT_WSMOUSE_DEV "/dev/wsmouse"
+#define DEFAULT_WSMOUSE0_DEV "/dev/wsmouse0"
+
+static const char *mouseDevs[] = {
+ DEFAULT_WSMOUSE_DEV,
+ DEFAULT_WSMOUSE0_DEV,
+ NULL
+};
#endif
static int
@@ -141,6 +151,8 @@ DefaultProtocol(void)
{
#if defined(__FreeBSD__)
return "Auto";
+#elif defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
+ return "WSMouse";
#else
return NULL;
#endif
@@ -195,7 +207,7 @@ SetupAuto(InputInfoPtr pInfo, int *protoPara)
protoPara[0] = mode.syncmask[0];
protoPara[1] = mode.syncmask[1];
}
- xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n",
+ xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n",
pInfo->name, devproto[i].name);
return devproto[i].name;
}
@@ -325,7 +337,50 @@ FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
}
#endif
-#if defined(WSCONS_SUPPORT)
+#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
+
+/* Only support wsmouse configuration for now */
+static const char *
+SetupAuto(InputInfoPtr pInfo, int *protoPara)
+{
+
+ xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n",
+ pInfo->name, "wsmouse");
+ return "wsmouse";
+}
+
+static void
+SetMouseRes(InputInfoPtr pInfo, const char *protocol, int rate, int res)
+{
+
+ xf86MsgVerb(X_INFO, 3, "%s: SetMouseRes: protocol %s rate %d res %d\n",
+ pInfo->name, protocol, rate, res);
+}
+
+static const char *
+FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
+{
+ int fd = -1;
+ const char **pdev;
+
+ for (pdev = mouseDevs; *pdev; pdev++) {
+ SYSCALL(fd = open(*pdev, O_RDWR | O_NONBLOCK));
+ if (fd != -1) {
+ /* Set the Device option. */
+ pInfo->conf_idev->commonOptions =
+ xf86AddNewOption(pInfo->conf_idev->commonOptions,
+ "Device", *pdev);
+ xf86Msg(X_INFO, "%s: found Device \"%s\"\n",
+ pInfo->name, *pdev);
+ close(fd);
+ break;
+ }
+ }
+ return *pdev;
+}
+#endif /* __OpenBSD__ && WSCONS_SUPPORT */
+
+#ifdef WSCONS_SUPPORT
#define NUMEVENTS 64
static void
@@ -718,7 +773,11 @@ xf86OSMouseInit(int flags)
p->SetBMRes = SetSysMouseRes;
p->SetMiscRes = SetSysMouseRes;
#endif
-#if defined(__FreeBSD__)
+#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
+ p->SetupAuto = SetupAuto;
+ p->SetMiscRes = SetMouseRes;
+#endif
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
p->FindDevice = FindDevice;
#endif
p->PreInit = bsdMousePreInit;
diff --git a/hw/xfree86/os-support/bus/Pci.c b/hw/xfree86/os-support/bus/Pci.c
index a0b639143..ab10485ee 100644
--- a/hw/xfree86/os-support/bus/Pci.c
+++ b/hw/xfree86/os-support/bus/Pci.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c,v 1.81 2003/09/24 02:43:34 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c,v 1.82 2004/01/16 15:39:04 tsi Exp $ */
/*
* Pci.c - New server PCI access functions
*
@@ -1016,7 +1016,9 @@ xf86scanpci(int flags)
if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN))
break;
pciWriteByte(tag, PCI_PCI_BRIDGE_CONTROL_REG,
- devp->pci_bridge_control & ~PCI_PCI_BRIDGE_MASTER_ABORT_EN);
+ devp->pci_bridge_control &
+ ~(PCI_PCI_BRIDGE_MASTER_ABORT_EN |
+ PCI_PCI_BRIDGE_SECONDARY_RESET));
break;
default:
@@ -1079,7 +1081,7 @@ xf86scanpci(int flags)
if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN))
break;
pciWriteByte(devp->tag, PCI_PCI_BRIDGE_CONTROL_REG,
- devp->pci_bridge_control);
+ devp->pci_bridge_control & ~PCI_PCI_BRIDGE_SECONDARY_RESET);
break;
default:
diff --git a/hw/xfree86/os-support/bus/Pci.h b/hw/xfree86/os-support/bus/Pci.h
index 74ca95baf..1c819a8c8 100644
--- a/hw/xfree86/os-support/bus/Pci.h
+++ b/hw/xfree86/os-support/bus/Pci.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h,v 1.44 2003/11/07 23:57:47 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h,v 1.45 2004/02/02 03:55:31 dawes Exp $ */
/*
* Copyright 1998 by Concurrent Computer Corporation
*
@@ -261,7 +261,7 @@
# define INCLUDE_XF86_NO_DOMAIN
# endif
# define XF86SCANPCI_WRAPPER ia64ScanPCIWrapper
-#elif defined(__i386__)
+#elif defined(__i386__) || defined(i386)
# define ARCH_PCI_INIT ix86PciInit
# define INCLUDE_XF86_MAP_PCI_MEM
# define INCLUDE_XF86_NO_DOMAIN
diff --git a/hw/xfree86/os-support/bus/zx1PCI.c b/hw/xfree86/os-support/bus/zx1PCI.c
index 31556b5b9..5d4d6a991 100644
--- a/hw/xfree86/os-support/bus/zx1PCI.c
+++ b/hw/xfree86/os-support/bus/zx1PCI.c
@@ -1,5 +1,4 @@
-/* $XdotOrg: xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c,v 1.6 2003/12/11 17:11:39 tsi Exp $ */
-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c,v 1.6 2003/12/11 17:11:39 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c,v 1.8 2004/01/16 15:39:38 tsi Exp $ */
/*
* Copyright (C) 2002-2003 The XFree86 Project, Inc. All Rights Reserved.
*
@@ -98,9 +97,10 @@
#define LBA_PORT5_CNTRL 0x1228U
#define LBA_PORT6_CNTRL 0x1230U
#define LBA_PORT7_CNTRL 0x1238U
-#define LBA_ROPE_RESET 0x01UL
-#define LBA_CLEAR_ERROR 0x10UL
-#define LBA_HARD_FAIL 0x40UL
+#define LBA_RESET_FUNCTION 0x0000000001UL
+#define LBA_CLEAR_ERROR 0x0000000010UL
+#define LBA_HARD_FAIL 0x0000000040UL
+#define LBA_RESET_COMPLETE 0x0100000000UL
#define ROPE_PAGE_CONTROL 0x1418U
@@ -118,8 +118,11 @@
#define IOA_SUBORDINATE_BUS 0x0059U
#define IOA_CONTROL 0x0108U
-#define IOA_FORWARD_VGA 0x08UL
-#define IOA_HARD_FAIL 0x40UL
+#define IOA_RESET_FUNCTION 0x0000000001UL
+#define IOA_FORWARD_VGA 0x0000000008UL
+#define IOA_CLEAR_ERROR 0x0000000010UL
+#define IOA_HARD_FAIL 0x0000000040UL
+#define IOA_RESET_COMPLETE 0x0100000000UL
#define IOA_LMMIO_BASE 0x0200U
#define IOA_LMMIO_MASK 0x0208U
@@ -135,12 +138,33 @@
#define IOA_ELMMIO_MASK 0x0258U
#define IOA_EIOS_BASE 0x0260U
#define IOA_EIOS_MASK 0x0268U
-
+#define IOA_GLOBAL_MASK 0x0270U
#define IOA_SLAVE_CONTROL 0x0278U
#define IOA_VGA_PEER_ENABLE 0x2000UL
#define IOA_MSI_BASE 0x0280U
#define IOA_MSI_MASK 0x0288U
+#define IOA_DMA_BASE 0x02B0U
+#define IOA_DMA_MASK 0x02B8U
+
+#define IOA_ERROR_CONFIG 0x0680U
+#define IOA_ERROR_PIOWRITE 0x0001UL
+#define IOA_ERROR_PIOREAD 0x0002UL
+#define IOA_ERROR_DMAWRITE 0x0004UL
+#define IOA_ERROR_DMAREAD 0x0008UL
+#define IOA_ERROR_CONFIG_MASTER 0x0010UL
+#define IOA_ERROR_SMART 0x0020UL
+#define IOA_ERROR_FATAL_SERR 0x0040UL
+#define IOA_ERROR_ASSERT_SERR 0x0080UL
+/* ? 0x0100UL */
+#define IOA_ERROR_LOOPBACK 0x0200UL
+#define IOA_ERROR_CONFIG_TARGET 0x0400UL
+#define IOA_ERROR_IO_MASTER 0x0800UL
+#define IOA_ERROR_IO_TARGET 0x1000UL
+#define IOA_ERROR_MEM_MASTER 0x2000UL
+#define IOA_ERROR_MEM_TARGET 0x4000UL
+#define IOA_ERROR_HF_IO_FATAL 0x8000UL
+
#define RANGE_ENABLE 0x01UL /* In various base registers */
#define IO_MASK ((1UL << 16) - 1UL)
@@ -157,10 +181,15 @@
static CARD8 *pZX1mio = NULL,
*pZX1ioa = NULL;
-static INT8 zx1_ropemap[8]; /* One for each (potential) rope */
-static CARD64 zx1_lbacntl[8]; /* " " " " " */
+/* Per-rope data */
+static INT8 zx1_ropemap[8];
+static CARD32 zx1_pciids[8];
+static CARD64 zx1_lbacntl[8];
static int zx1_busno[8], zx1_subno[8];
+/* Array of Booleans for non-empty buses */
+static INT8 zx1_busnmpt[MAX_PCI_BUSES];
+
static pciBusFuncs_t zx1BusFuncs;
static int zx1_fakebus = -1;
static Bool zx1_hasvga = FALSE;
@@ -293,7 +322,8 @@ ControlZX1Bridge(int bus, CARD16 mask, CARD16 value)
* SLAVE_CONTROL register.
*/
tmp1 = MIO_QUAD(VGA_ROUTE);
- tmp2 = IOA_QUAD(ropenum, IOA_CONTROL);
+ tmp2 = IOA_QUAD(ropenum, IOA_CONTROL) &
+ ~(IOA_RESET_FUNCTION | IOA_CLEAR_ERROR);
if ((tmp1 & VGA_ENABLE) && ((tmp1 & 0x07UL) == ropenum)) {
current |= PCI_PCI_BRIDGE_VGA_EN;
if ((mask & PCI_PCI_BRIDGE_VGA_EN) &&
@@ -316,8 +346,9 @@ ControlZX1Bridge(int bus, CARD16 mask, CARD16 value)
MIO_QUAD(VGA_ROUTE) = 0UL;
tmp3 = IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL);
if (tmp3 & IOA_FORWARD_VGA)
- IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL) =
- tmp3 & ~IOA_FORWARD_VGA;
+ IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL) = tmp3 &
+ ~(IOA_RESET_FUNCTION | IOA_FORWARD_VGA |
+ IOA_CLEAR_ERROR);
}
if (!(tmp2 & IOA_FORWARD_VGA)) {
tmp2 |= IOA_FORWARD_VGA;
@@ -330,7 +361,7 @@ ControlZX1Bridge(int bus, CARD16 mask, CARD16 value)
/* Move on to master abort failure enablement */
tmp1 = MIO_QUAD((ropenum << 3) + LBA_PORT0_CNTRL) &
- ~(LBA_ROPE_RESET | LBA_CLEAR_ERROR);
+ ~(LBA_RESET_FUNCTION | LBA_CLEAR_ERROR);
if ((tmp1 & LBA_HARD_FAIL) || (tmp2 & IOA_HARD_FAIL)) {
current |= PCI_PCI_BRIDGE_MASTER_ABORT_EN;
if ((mask & PCI_PCI_BRIDGE_MASTER_ABORT_EN) &&
@@ -521,14 +552,14 @@ xf86PreScanZX1(void)
/* Prevent hard-fails */
zx1_lbacntl[i] = MIO_QUAD((i << 3) + LBA_PORT0_CNTRL) &
- ~(LBA_ROPE_RESET | LBA_CLEAR_ERROR);
+ ~(LBA_RESET_FUNCTION | LBA_CLEAR_ERROR);
if (zx1_lbacntl[i] & LBA_HARD_FAIL)
MIO_QUAD((i << 3) + LBA_PORT0_CNTRL) =
zx1_lbacntl[i] & ~LBA_HARD_FAIL;
/* Poke for an ioa */
- tmp = IOA_LONG(i, PCI_ID_REG);
- switch ((CARD32)tmp) {
+ zx1_pciids[i] = IOA_LONG(i, PCI_ID_REG);
+ switch (zx1_pciids[i]) {
case DEVID(VENDOR_HP, CHIP_ELROY):
case DEVID(VENDOR_HP, CHIP_ZX1_LBA): /* Mercury */
case DEVID(VENDOR_HP, CHIP_ZX1_AGP8): /* QuickSilver */
@@ -540,10 +571,10 @@ xf86PreScanZX1(void)
break;
default:
- if ((CARD16)(tmp + 1U) > (CARD16)1U)
+ if ((CARD16)(zx1_pciids[i] + 1U) > (CARD16)1U)
xf86MsgVerb(X_NOTICE, 0,
"HP ZX1: Unexpected vendor/device id 0x%08X"
- " on rope %d\n", (CARD32)tmp, i);
+ " on rope %d\n", zx1_pciids[i], i);
/* Nobody home, or not the "right" kind of rope guest */
/*
@@ -907,6 +938,9 @@ xf86PostScanZX1(void)
if (!pZX1mio)
return;
+ (void)memset(zx1_busnmpt, FALSE, sizeof(zx1_busnmpt));
+ pBusInfo = pciBusInfo[0];
+
/*
* Certain 2.4 & 2.5 Linux kernels add fake PCI devices. Remove them to
* prevent any possible interference with our PCI validation.
@@ -930,6 +964,8 @@ xf86PostScanZX1(void)
*ppPCI++ = pPCI;
idx++;
+ zx1_busnmpt[pPCI->busnum] = TRUE;
+
if (zx1_hasvga)
continue;
@@ -954,8 +990,8 @@ xf86PostScanZX1(void)
}
/*
- * Restore hard-fail settings and figure out the actual subordinate bus
- * numbers.
+ * Restore hard-fail settings and figure out the actual secondary and
+ * subordinate bus numbers.
*/
for (i = 0; i < 8; i++) {
if (zx1_ropemap[i] != i)
@@ -969,6 +1005,14 @@ xf86PostScanZX1(void)
if (zx1_fakebus <= zx1_subno[i])
zx1_fakebus = zx1_subno[i] + 1;
+
+ while (!zx1_busnmpt[zx1_busno[i]]) {
+ if (zx1_busno[i]) /* Info for bus zero is in static storage */
+ xfree(pciBusInfo[zx1_busno[i]]);
+ pciBusInfo[zx1_busno[i]++] = NULL;
+ if (zx1_busno[i] > zx1_subno[i])
+ break;
+ }
}
if (zx1_fakebus >= pciNumBuses) {
@@ -978,13 +1022,13 @@ xf86PostScanZX1(void)
}
/* Set up our extra bus functions */
- zx1BusFuncs = *(pciBusInfo[0]->funcs);
+ zx1BusFuncs = *(pBusInfo->funcs);
zx1BusFuncs.pciControlBridge = ControlZX1Bridge;
zx1BusFuncs.pciGetBridgeResources = GetZX1BridgeResources;
/* Set up our own fake bus to act as the root segment */
- zx1FakeBus.configMech = pciBusInfo[0]->configMech;
- zx1FakeBus.numDevices = pciBusInfo[0]->numDevices;
+ zx1FakeBus.configMech = pBusInfo->configMech;
+ zx1FakeBus.numDevices = pBusInfo->numDevices;
zx1FakeBus.primary_bus = zx1_fakebus;
pciBusInfo[zx1_fakebus] = &zx1FakeBus;
@@ -1019,7 +1063,8 @@ xf86PostScanZX1(void)
/* Add a fake PCI-to-PCI bridge to represent each active rope */
for (i = 0; i < 8; i++) {
- if ((zx1_ropemap[i] != i) || !(pBusInfo = pciBusInfo[zx1_busno[i]]))
+ if ((zx1_ropemap[i] != i) || (zx1_busno[i] > zx1_subno[i]) ||
+ !(pBusInfo = pciBusInfo[zx1_busno[i]]))
continue;
if (++idx >= MAX_PCI_DEVICES)
@@ -1029,7 +1074,7 @@ xf86PostScanZX1(void)
pPCI->devnum = i | 0x10;
/* pPCI->funcnum = 0; */
pPCI->tag = PCI_MAKE_TAG(zx1_fakebus, pPCI->devnum, 0);
- pPCI->pci_device_vendor = DEVID(VENDOR_HP, CHIP_ZX1_LBA);
+ pPCI->pci_device_vendor = zx1_pciids[i];
pPCI->pci_base_class = PCI_CLASS_BRIDGE;
pPCI->pci_sub_class = PCI_SUBCLASS_BRIDGE_PCI;
pPCI->pci_header_type = 1;
@@ -1045,6 +1090,9 @@ xf86PostScanZX1(void)
/* Plug in chipset routines */
pBusInfo->funcs = &zx1BusFuncs;
+ /* Set bridge control register for scanpci utility */
+ pPCI->pci_bridge_control = ControlZX1Bridge(zx1_busno[i], 0, 0);
+
#ifdef OLD_FORMAT
xf86MsgVerb(X_INFO, 2, "PCI: BusID 0x%.2x,0x%02x,0x%1x "
"ID 0x%04x,0x%04x Rev 0x%02x Class 0x%02x,0x%02x\n",
diff --git a/hw/xfree86/os-support/linux/int10/linux.c b/hw/xfree86/os-support/linux/int10/linux.c
index 11fe19f67..bacfa9032 100644
--- a/hw/xfree86/os-support/linux/int10/linux.c
+++ b/hw/xfree86/os-support/linux/int10/linux.c
@@ -1,7 +1,7 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c,v 1.31 2003/09/24 02:43:35 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c,v 1.32 2004/02/05 18:24:59 eich Exp $ */
/*
* linux specific part of the int10 module
- * Copyright 1999 Egbert Eich
+ * Copyright 1999, 2000, 2001, 2002, 2003, 2004 Egbert Eich
*/
#include "xf86.h"
#include "xf86_OSproc.h"
@@ -212,7 +212,9 @@ xf86ExtendedInitInt10(int entityIndex, int Flags)
} else
((linuxInt10Priv*)pInt->private)->base_high = NULL;
- MapCurrentInt10(pInt);
+ if (!MapCurrentInt10(pInt))
+ goto error3;
+
Int10Current = pInt;
#ifdef DEBUG
diff --git a/hw/xfree86/os-support/linux/lnxResource.c b/hw/xfree86/os-support/linux/lnxResource.c
index 04e2f07c0..bd038351f 100644
--- a/hw/xfree86/os-support/linux/lnxResource.c
+++ b/hw/xfree86/os-support/linux/lnxResource.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnxResource.c,v 3.18 2002/01/25 21:56:19 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnxResource.c,v 3.19 2004/02/04 16:30:50 tsi Exp $ */
/* Resource information code */
@@ -190,7 +190,8 @@ xf86AccResFromOS(resPtr ret)
defined(__s390__) || \
defined(__hppa__)
- /* XXX this isn't exactly correct but it will get the server working
+ /*
+ * XXX this isn't exactly correct but it will get the server working
* for now until we get something better.
*/
@@ -203,7 +204,7 @@ xf86BusAccWindowsFromOS(void)
RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock);
ret = xf86AddResToList(ret, &range, -1);
-#ifdef __sparc__
+#if defined(__sparc__) || defined(__powerpc__)
RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock);
#else
RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock);
@@ -221,7 +222,7 @@ xf86PciBusAccWindowsFromOS(void)
RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock);
ret = xf86AddResToList(ret, &range, -1);
-#ifdef __sparc__
+#if defined(__sparc__) || defined(__powerpc__)
RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock);
#else
RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock);
@@ -230,7 +231,7 @@ xf86PciBusAccWindowsFromOS(void)
return ret;
}
-#ifdef INCLUDE_UNUSED */
+#ifdef INCLUDE_UNUSED
resPtr
xf86IsaBusAccWindowsFromOS(void)
@@ -241,7 +242,7 @@ xf86IsaBusAccWindowsFromOS(void)
RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock);
ret = xf86AddResToList(ret, &range, -1);
-#ifdef __sparc__
+#if defined(__sparc__) || defined(__powerpc__)
RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock);
#else
RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock);
@@ -267,7 +268,7 @@ xf86AccResFromOS(resPtr ret)
ret = xf86AddResToList(ret, &range, -1);
RANGE(range, 0x00000000, 0x00000000, ResExcIoBlock);
ret = xf86AddResToList(ret, &range, -1);
-#ifdef __sparc__
+#if defined(__sparc__) || defined(__powerpc__)
RANGE(range, 0x00ffffff, 0x00ffffff, ResExcIoBlock);
#else
RANGE(range, 0x0000ffff, 0x0000ffff, ResExcIoBlock);
diff --git a/hw/xfree86/os-support/misc/SlowBcopy.c b/hw/xfree86/os-support/misc/SlowBcopy.c
index 98546b688..a9a8beae7 100644
--- a/hw/xfree86/os-support/misc/SlowBcopy.c
+++ b/hw/xfree86/os-support/misc/SlowBcopy.c
@@ -4,7 +4,7 @@
for Alpha Linux
*******************************************************************************/
-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/misc/SlowBcopy.c,v 1.6 2003/04/07 16:23:39 eich Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/misc/SlowBcopy.c,v 1.7 2004/02/11 22:06:21 tsi Exp $ */
/*
* Create a dependency that should be immune from the effect of register
@@ -26,13 +26,13 @@
void
xf86SlowBcopy(unsigned char *src, unsigned char *dst, int len)
{
-#if defined(__ia64__)
- outb(0x80, 0x00);
-#endif
while(len--)
{
*dst++ = *src++;
-#if !defined(__sparc__) && !defined(__powerpc__) && !defined(__mips__)
+#if !defined(__sparc__) && \
+ !defined(__powerpc__) && \
+ !defined(__mips__) && \
+ !defined(__ia64__)
outb(0x80, 0x00);
#endif
}
diff --git a/hw/xfree86/scanpci/pci.ids b/hw/xfree86/scanpci/pci.ids
index eec9d74cc..a172fd690 100644
--- a/hw/xfree86/scanpci/pci.ids
+++ b/hw/xfree86/scanpci/pci.ids
@@ -7,7 +7,7 @@
# so if you have anything to contribute, please visit the home page or
# send a diff -u against the most recent pci.ids to pci-ids@ucw.cz.
#
-# Daily snapshot on Thu 2003-12-18 11:00:05
+# Daily snapshot on Sun 2004-02-15 11:00:07
#
# Vendors, devices and subsystems. Please keep sorted.
@@ -24,6 +24,12 @@
# Real TJN ID is e159, but they got it wrong several times --mj
0059 Tiger Jet Network Inc. (Wrong ID)
0070 Hauppauge computer works Inc.
+# WinTV Personal Video Recorder 350 (video capture card)
+ 4000 WinTV PVR-350
+# WinTV Personal Video Recorder 250 (video capture card) - original release
+ 4001 WinTV PVR-250 (v1)
+# WinTV Personal Video Recorder 250 (video capture card)
+ 4009 WinTV PVR-250
0100 Ncipher Corp Ltd
0675 Dynalink
1700 IS64PH ISDN Adapter
@@ -168,11 +174,36 @@
1002 ATI Technologies Inc
4136 Radeon IGP 320 M
4144 Radeon R300 AD [Radeon 9500 Pro]
- 4145 Radeon R300 AE [Radeon 9500 Pro]
- 4146 Radeon R300 AF [Radeon 9500 Pro]
+# New PCI ID provided by ATI developer relations (correction to above)
+ 4145 R300 AE [Radeon 9700 Pro]
+# New PCI ID provided by ATI developer relations (oops, correction to above)
+ 4146 R300 AF [Radeon 9700 Pro]
4147 Radeon R300 AG [FireGL Z1/X1]
+# Updated 2 letter ASIC code I initially missed in above entry submission
+ 4148 Radeon R350 AH [Radeon 9800]
+# New PCI ID provided by ATI developer relations
+ 4149 Radeon R350 AI [Radeon 9800]
+# New PCI ID provided by ATI developer relations
+ 4150 RV350 AP [Radeon 9600]
+# New PCI ID provided by ATI developer relations
+ 4151 RV350 AQ [Radeon 9600]
+# New PCI ID provided by ATI developer relations
+ 4152 RV350 AR [Radeon 9600]
4158 68800AX [Mach32]
- 4164 Radeon R300 Secondary (DVI) output
+# The PCI ID is unrelated to any DVI output.
+ 4164 R300 AD [Radeon 9500 Pro] (Secondary)
+# New PCI ID info provided by ATI developer relations
+ 4165 R300 AE [Radeon 9700 Pro] (Secondary)
+# New PCI ID info provided by ATI developer relations
+ 4166 R300 AF [Radeon 9700 Pro] (Secondary)
+# New PCI ID provided by ATI developer relations
+ 4168 Radeon R350 [Radeon 9800] (Secondary)
+# New PCI ID provided by ATI developer relations (correction to above)
+ 4170 RV350 AP [Radeon 9600] (Secondary)
+# New PCI ID provided by ATI developer relations (correction to above)
+ 4171 RV350 AQ [Radeon 9600] (Secondary)
+# New PCI ID provided by ATI developer relations (correction to above)
+ 4172 RV350 AR [Radeon 9600] (Secondary)
4242 Radeon R200 BB [Radeon All in Wonder 8500DV]
1002 02aa Radeon 8500 AIW DV Edition
4336 Radeon Mobility U1
@@ -246,20 +277,20 @@
475a 3D Rage IIC AGP
1002 0087 Rage 3D IIC
1002 475a Rage IIC AGP
- 4964 Radeon R250 Id [Radeon 9000]
- 4965 Radeon R250 Ie [Radeon 9000]
- 4966 Radeon R250 If [Radeon 9000]
- 10f1 0002 R250 If [Tachyon G9000 PRO]
- 148c 2039 R250 If [Radeon 9000 Pro "Evil Commando"]
- 1509 9a00 R250 If [Radeon 9000 "AT009"]
-# New subdevice - 3D Prophet 9000 PCI by Hercules. AGP version probably would have same ID, so not specified.
- 1681 0040 R250 If [3D prophet 9000]
- 174b 7176 R250 If [Sapphire Radeon 9000 Pro]
- 174b 7192 R250 If [Radeon 9000 "Atlantis"]
- 17af 2005 R250 If [Excalibur Radeon 9000 Pro]
- 17af 2006 R250 If [Excalibur Radeon 9000]
- 4967 Radeon R250 Ig [Radeon 9000]
- 496e Radeon R250 [Radeon 9000] (Secondary)
+ 4964 Radeon RV250 Id [Radeon 9000]
+ 4965 Radeon RV250 Ie [Radeon 9000]
+ 4966 Radeon RV250 If [Radeon 9000]
+ 10f1 0002 RV250 If [Tachyon G9000 PRO]
+ 148c 2039 RV250 If [Radeon 9000 Pro "Evil Commando"]
+ 1509 9a00 RV250 If [Radeon 9000 "AT009"]
+# New subdevice - 3D Prophet 9000 PCI by Hercules. AGP version probably would have same ID, so not specified.
+ 1681 0040 RV250 If [3D prophet 9000]
+ 174b 7176 RV250 If [Sapphire Radeon 9000 Pro]
+ 174b 7192 RV250 If [Radeon 9000 "Atlantis"]
+ 17af 2005 RV250 If [Excalibur Radeon 9000 Pro]
+ 17af 2006 RV250 If [Excalibur Radeon 9000]
+ 4967 Radeon RV250 Ig [Radeon 9000]
+ 496e Radeon RV250 [Radeon 9000] (Secondary)
4c42 3D Rage LT Pro AGP-133
0e11 b0e8 Rage 3D LT Pro
0e11 b10e 3D Rage LT Pro (Compaq Armada 1750)
@@ -312,15 +343,25 @@
4e44 Radeon R300 ND [Radeon 9700 Pro]
4e45 Radeon R300 NE [Radeon 9500 Pro]
1002 0002 Radeon R300 NE [Radeon 9500 Pro]
- 4e46 Radeon R300 NF [Radeon 9700]
+# New PCI ID provided by ATI developer relations (correction to above)
+ 4e46 RV350 NF [Radeon 9600]
4e47 Radeon R300 NG [FireGL X1]
4e48 Radeon R350 [Radeon 9800]
+# New PCI ID provided by ATI developer relations
+ 4e49 Radeon R350 [Radeon 9800]
+# New PCI ID provided by ATI developer relations
+ 4e50 RV350 [Mobility Radeon 9600 M10]
+# New PCI ID provided by ATI developer relations
+ 4e52 RV350 [Mobility Radeon 9600 M10]
4e64 Radeon R300 [Radeon 9700 Pro] (Secondary)
4e65 Radeon R300 [Radeon 9500 Pro] (Secondary)
1002 0003 Radeon R300 NE [Radeon 9500 Pro]
- 4e66 Radeon R300 [Radeon 9700] (Secondary)
+# New PCI ID provided by ATI developer relations (correction to above)
+ 4e66 RV350 NF [Radeon 9600] (Secondary)
4e67 Radeon R300 [FireGL X1] (Secondary)
4e68 Radeon R350 [Radeon 9800] (Secondary)
+# New PCI ID provided by ATI developer relations
+ 4e69 Radeon R350 [Radeon 9800] (Secondary)
5041 Rage 128 PA/PRO
5042 Rage 128 PB/PRO AGP 2x
5043 Rage 128 PC/PRO AGP 4x
@@ -3413,7 +3454,8 @@
11bd 0006 DV500 Overlay
11bd 000a DV500 Overlay
1132 Mitel Corp.
-1133 Eicon Technology Corporation
+# This is the new official company name. See disclaimer on www.eicon.com for details!
+1133 Eicon Networks Corporation
7901 EiconCard S90
7902 EiconCard S90
7911 EiconCard S91
@@ -6238,9 +6280,14 @@
16be Creatix Polymedia GmbH
16ca CENATEK Inc
0001 Rocket Drive DL
+16cd Densitron Technologies
+# www.pikatechnologies.com
+16df PIKA Technologies Inc.
16ec U.S. Robotics
3685 Wireless Access PCI Adapter Model 022415
16f6 VideoTele.com, Inc.
+# www.internetmachines.com
+1702 Internet Machines Corporation (IMC)
1705 Digital First, Inc.
170b NetOctave Inc
170c YottaYotta Inc.
@@ -6279,6 +6326,9 @@
0601 VSM2 dual PMC carrier
0710 VS14x series PowerPC PCI board
0720 VS24x series PowerPC PCI board
+# found e.g. on KNC DVB-S card
+1894 KNC One
+18fb Resilience Corporation
1a08 Sierra semiconductor
0000 SC15064
1b13 Jaton Corp
@@ -6372,6 +6422,7 @@
4033 Addtron Technology Co, Inc.
1360 RTL8139 Ethernet
4143 Digital Equipment Corp
+4144 Alpha Data
416c Aladdin Knowledge Systems
0100 AladdinCARD
0200 CPC
@@ -6569,6 +6620,7 @@
0003 TURBOstor HFP-832 [HiPPI NIC]
5654 VoiceTronix Pty Ltd
5700 Netpower
+5851 Exacq Technologies
6356 UltraStor
6374 c't Magazin für Computertechnik
6773 GPPCI
@@ -6587,6 +6639,10 @@
0008 Extended Express System Support Controller
0039 21145
0122 82437FX
+ 0326 PCI Bridge Hub I/OxAPIC Interrupt Controller A
+ 0327 PCI Bridge Hub I/OxAPIC Interrupt Controller B
+ 0329 PCI Bridge Hub A
+ 032a PCI Bridge Hub B
0482 82375EB
0483 82424ZX [Saturn]
0484 82378IB [SIO ISA Bridge]
@@ -6639,7 +6695,18 @@
8086 1002 PRO/1000 MF Server Adapter
1012 82546EB Gigabit Ethernet Controller (Fiber)
8086 1012 PRO/1000 MF Dual Port Server Adapter
+ 1013 82541EI Gigabit Ethernet Controller (Copper)
+ 1014 82541ER Gigabit Ethernet Controller
1015 82540EM Gigabit Ethernet Controller (LOM)
+ 1016 82540EP Gigabit Ethernet Controller (LOM)
+ 1017 82540EP Gigabit Ethernet Controller (LOM)
+# Update controller name from 82541EP to 82541EI
+ 1018 82541EI Gigabit Ethernet Controller
+ 1019 82547EI Gigabit Ethernet Controller (LOM)
+ 101e 82540EP Gigabit Ethernet Controller (Mobile)
+ 1026 82545GM Gigabit Ethernet Controller
+ 1027 82545GM Gigabit Ethernet Controller
+ 1028 82545GM Gigabit Ethernet Controller
1029 82559 Ethernet Controller
1030 82559 InBusiness 10/100
1031 82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller
@@ -6667,7 +6734,21 @@
1040 536EP Data Fax Modem
16be 1040 V.9X DSP Data Fax Modem
1043 PRO/Wireless LAN 2100 3B Mini PCI Adapter
+ 1048 Intel(R) PRO/10GbE LR Server Adapter
1059 82551QM Ethernet Controller
+# Updated controller name from 82547EI to 82547GI
+ 1075 82547GI Gigabit Ethernet Controller
+# Updated controller name from 82541EI to 82541GI
+ 1076 82541GI Gigabit Ethernet Controller
+# Update controller name from 82541EI to 82541GI
+ 1077 82541GI Gigabit Ethernet Controller
+ 1078 82541EI Gigabit Ethernet Controller
+# Update from mistaken ID of 82546EB
+ 1079 82546GB Gigabit Ethernet Controller
+# Update from mistaken ID of 82546EB
+ 107a 82546GB Gigabit Ethernet Controller
+# Update from mistaken ID of 82546EB
+ 107b 82546GB Gigabit Ethernet Controller
1130 82815 815 Chipset Host Bridge and Memory Controller Hub
1025 1016 Travelmate 612 TX
1043 8027 TUSL2-C Mainboard
@@ -7069,6 +7150,7 @@
24dc 82801EB LPC Interface Controller
24dd 82801EB USB2
24de 82801EB USB
+ 24df 82801EB (ICH5R) SATA (cc=RAID)
2500 82820 820 (Camino) Chipset Host Bridge (MCH)
1028 0095 Precision Workstation 220 Chipset
1043 801c P3C-2000 system chipset
@@ -7109,12 +7191,26 @@
2571 82865G/PE/P Processor to AGP Controller
2572 82865G Integrated Graphics Device
2573 82865G/PE/P Processor to PCI to CSA Bridge
- 2576 82864G/PE/P Processor to I/O Memory Interface
+ 2576 82865G/PE/P Processor to I/O Memory Interface
2578 82875P Memory Controller Hub
2579 82875P Processor to AGP Controller
257b 82875P Processor to PCI to CSA Bridge
257e 82875P Processor to I/O Memory Interface
+ 25a1 Enterprise Southbridge ISA Bridge
+ 25a2 Enterprise Southbridge PATA
+ 25a3 Enterprise Southbridge SATA cc=IDE
+ 25a4 Enterprise Southbridge SMBUS
+ 25a6 Enterprise Southbridge AC'97 Audio
+ 25a7 Enterprise Southbridge AC'97 Modem
+ 25a9 Enterprise Southbridge USB 1.1 UHCI
+ 25aa Enterprise Southbridge USB 1.1 UHCI
+ 25ab Enterprise Southbridge Watchdog Timer
+ 25ac Enterprise Southbridge IOxAPIC
+ 25ad Enterprise Southbridge USB 2.0 EHCI
+ 25ae Enterprise Southbridge Hublink PCI-X Bridge
+ 25b0 Enterprise Southbridge SATA cc=RAID
3092 Integrated RAID
+ 3200 GD31244 PCI-X SATA HBA
3340 82855PM Processor to I/O Controller
3341 82855PM Processor to AGP Controller
3575 82830 830 Chipset Host Bridge
@@ -7126,6 +7222,18 @@
3578 82830 830 Chipset Host Bridge
3580 82852/855GM Host Bridge
3582 82852/855GM Integrated Graphics Device
+ 3590 Server Memory Controller Hub
+ 3591 Memory Controller Hub Error Reporting Register
+ 3592 Server Memory Controller Hub
+ 3594 Memory Controller Hub DMA Controller
+ 3595 Memory Controller Hub PCI Express Port A0
+ 3596 Memory Controller Hub PCI Express Port A1
+ 3597 Memory Controller Hub PCI Express Port B0
+ 3598 Memory Controller Hub PCI Express Port B1
+ 3599 Memory Controller Hub PCI Express Port C0
+ 359a Memory Controller Hub PCI Express Port C1
+ 359b Memory Controller Hub Extended Configuration Registers
+ 359e Workstation Memory Controller Hub
5200 EtherExpress PRO/100 Intelligent Server
5201 EtherExpress PRO/100 Intelligent Server
8086 0001 EtherExpress PRO/100 Server Ethernet Adapter
@@ -7431,12 +7539,15 @@ d84d Exsys
dead Indigita Corporation
e000 Winbond
e000 W89C940
-e159 Tiger Jet Network Inc.
+# see : http://www.schoenfeld.de/inside/Inside_CWMK3.txt
+e159 Individual Computers - Jens Schoenfeld
0001 Intel 537
0059 0001 128k ISDN-S/T Adapter
0059 0003 128k ISDN-U Adapter
0002 Tiger100APC ISDN chipset
e4bf EKF Elektronik GmbH
+# Innovative and scalable network IC vendor
+e55e Essence Technology, Inc.
ea01 Eagle Technology
# The main chip of all these devices is by Xilinx -> It could also be a Xilinx ID.
ea60 RME
@@ -7481,6 +7592,8 @@ febd Ultraview Corp.
feda Broadcom Inc (nee Epigram)
a0fa BCM4210 iLine10 HomePNA 2.0
a10e BCM4230 iLine10 HomePNA 2.0
+# IT & Telecom company, develops PCI Trunk cards <www.fedetec.es>
+fede Fedetec Inc.
fffe VMWare Inc
0710 Virtual SVGA
ffff Illegal Vendor ID
diff --git a/hw/xfree86/utils/ioport/ioport.c b/hw/xfree86/utils/ioport/ioport.c
index 4bb20ef1b..b977936d3 100644
--- a/hw/xfree86/utils/ioport/ioport.c
+++ b/hw/xfree86/utils/ioport/ioport.c
@@ -1,6 +1,6 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/ioport.c,v 1.4 2003/01/01 19:16:41 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/ioport.c,v 1.5 2004/01/05 16:42:10 tsi Exp $ */
/*
- * Copyright 2002 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
+ * Copyright 2002 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
diff --git a/hw/xfree86/utils/xorgcfg/config.h b/hw/xfree86/utils/xorgcfg/config.h
index 0853b67fa..aa38d520f 100644
--- a/hw/xfree86/utils/xorgcfg/config.h
+++ b/hw/xfree86/utils/xorgcfg/config.h
@@ -26,8 +26,7 @@
*
* Author: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*
- * $XdotOrg: xc/programs/Xserver/hw/xfree86/xf86cfg/config.h,v 1.18 2003/12/19 02:05:38 dawes Exp $
- * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/config.h,v 1.18 2003/12/19 02:05:38 dawes Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/config.h,v 1.22 2004/02/14 17:53:49 dawes Exp $
*/
#include <X11/IntrinsicP.h>
@@ -38,10 +37,12 @@
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
-#include <unistd.h>
-#if defined(sun) && defined(SVR4)
+#ifdef sun
+#undef index
+#undef rindex
#include <strings.h>
#endif
+#include <unistd.h>
#include <stdarg.h>
diff --git a/hw/xfree86/vbe/vbe.h b/hw/xfree86/vbe/vbe.h
index 30756119d..3a1b48749 100644
--- a/hw/xfree86/vbe/vbe.h
+++ b/hw/xfree86/vbe/vbe.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/vbe/vbe.h,v 1.3 2003/11/14 14:58:45 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/vbe/vbe.h,v 1.5 2004/02/02 03:55:32 dawes Exp $ */
/*
* XFree86 vbe module
@@ -60,7 +60,8 @@ typedef struct vbeControllerInfoBlock {
CARD8 OemData[256];
} vbeControllerInfoRec, *vbeControllerInfoPtr;
-#ifdef __GNUC__
+#if defined(__GNUC__) || defined(SCO) || defined(__USLC__) || \
+ defined(__SUNPRO_C)
#pragma pack() /* All GCC versions recognise this syntax */
#else
#pragma pack(0)
diff --git a/hw/xfree86/vgahw/vgaHW.c b/hw/xfree86/vgahw/vgaHW.c
index e1fd9716a..b8bcbdba9 100644
--- a/hw/xfree86/vgahw/vgaHW.c
+++ b/hw/xfree86/vgahw/vgaHW.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/vgahw/vgaHW.c,v 1.58 2003/11/03 05:11:53 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/vgahw/vgaHW.c,v 1.59 2004/02/11 22:06:22 tsi Exp $ */
/*
*
@@ -764,6 +764,11 @@ vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore)
#if 0
hwp->writeAttr(hwp, 0x10, 0x01); /* graphics mode */
#endif
+
+ hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
+ hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
+ hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
+
if (scrninfp->depth == 4) {
/* GJA */
hwp->writeGr(hwp, 0x03, 0x00); /* don't rotate, write unmodified */
@@ -774,10 +779,7 @@ vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore)
#ifdef SAVE_FONT1
if (hwp->FontInfo1) {
hwp->writeSeq(hwp, 0x02, 0x04); /* write to plane 2 */
- hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x02); /* read plane 2 */
- hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
- hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_tobus(hwp->FontInfo1, hwp->Base, FONT_AMOUNT);
}
#endif
@@ -785,10 +787,7 @@ vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore)
#ifdef SAVE_FONT2
if (hwp->FontInfo2) {
hwp->writeSeq(hwp, 0x02, 0x08); /* write to plane 3 */
- hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x03); /* read plane 3 */
- hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
- hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_tobus(hwp->FontInfo2, hwp->Base, FONT_AMOUNT);
}
#endif
@@ -796,16 +795,10 @@ vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore)
#ifdef SAVE_TEXT
if (hwp->TextInfo) {
hwp->writeSeq(hwp, 0x02, 0x01); /* write to plane 0 */
- hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x00); /* read plane 0 */
- hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
- hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_tobus(hwp->TextInfo, hwp->Base, TEXT_AMOUNT);
hwp->writeSeq(hwp, 0x02, 0x02); /* write to plane 1 */
- hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x01); /* read plane 1 */
- hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
- hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_tobus((unsigned char *)hwp->TextInfo + TEXT_AMOUNT,
hwp->Base, TEXT_AMOUNT);
}
@@ -849,8 +842,7 @@ vgaHWRestoreMode(ScrnInfoPtr scrninfp, vgaRegPtr restore)
for (i = 1; i < restore->numSequencer; i++)
hwp->writeSeq(hwp, i, restore->Sequencer[i]);
- /* Ensure CRTC registers 0-7 are unlocked by clearing bit 7 or CRTC[17] */
-
+ /* Ensure CRTC registers 0-7 are unlocked by clearing bit 7 of CRTC[17] */
hwp->writeCrtc(hwp, 17, restore->CRTC[17] & ~0x80);
for (i = 0; i < restore->numCRTC; i++)
@@ -958,39 +950,32 @@ vgaHWSaveFonts(ScrnInfoPtr scrninfp, vgaRegPtr save)
#if 0
hwp->writeAttr(hwp, 0x10, 0x01); /* graphics mode */
#endif
+
+ hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
+ hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
+ hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
+
#ifdef SAVE_FONT1
if (hwp->FontInfo1 || (hwp->FontInfo1 = xalloc(FONT_AMOUNT))) {
hwp->writeSeq(hwp, 0x02, 0x04); /* write to plane 2 */
- hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x02); /* read plane 2 */
- hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
- hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_frombus(hwp->Base, hwp->FontInfo1, FONT_AMOUNT);
}
#endif /* SAVE_FONT1 */
#ifdef SAVE_FONT2
if (hwp->FontInfo2 || (hwp->FontInfo2 = xalloc(FONT_AMOUNT))) {
hwp->writeSeq(hwp, 0x02, 0x08); /* write to plane 3 */
- hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x03); /* read plane 3 */
- hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
- hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_frombus(hwp->Base, hwp->FontInfo2, FONT_AMOUNT);
}
#endif /* SAVE_FONT2 */
#ifdef SAVE_TEXT
if (hwp->TextInfo || (hwp->TextInfo = xalloc(2 * TEXT_AMOUNT))) {
hwp->writeSeq(hwp, 0x02, 0x01); /* write to plane 0 */
- hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x00); /* read plane 0 */
- hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
- hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_frombus(hwp->Base, hwp->TextInfo, TEXT_AMOUNT);
hwp->writeSeq(hwp, 0x02, 0x02); /* write to plane 1 */
- hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
hwp->writeGr(hwp, 0x04, 0x01); /* read plane 1 */
- hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
- hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
slowbcopy_frombus(hwp->Base,
(unsigned char *)hwp->TextInfo + TEXT_AMOUNT, TEXT_AMOUNT);
}
@@ -1476,7 +1461,7 @@ vgaHWVBlankKGA(DisplayModePtr mode, vgaRegPtr regp, int nBits,
regp->CRTC[22] = i & 0xFF;
ExtBits = i & 0xFF00;
}
- return ExtBits >> 8;
+ return ExtBits >> 8;
}
/*
diff --git a/hw/xfree86/xaa/xaaOverlay.c b/hw/xfree86/xaa/xaaOverlay.c
index 9fa1dec41..f7a954103 100644
--- a/hw/xfree86/xaa/xaaOverlay.c
+++ b/hw/xfree86/xaa/xaaOverlay.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/hw/xfree86/xaa/xaaOverlay.c,v 1.1.4.3 2004/02/25 21:46:55 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaOverlay.c,v 1.15 2003/11/10 18:22:41 tsi Exp $ */
#include "misc.h"
@@ -18,8 +18,8 @@
#include "mioverlay.h"
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
static void
@@ -168,11 +168,11 @@ XAAPaintWindow8_32(
yorg = pBgWin->drawable.y;
#ifdef XINERAMA
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
int index = pScreen->myNum;
if(WindowTable[index] == pBgWin) {
- xorg -= xineramaDataPtr[index].x;
- yorg -= xineramaDataPtr[index].y;
+ xorg -= panoramiXdataPtr[index].x;
+ yorg -= panoramiXdataPtr[index].y;
}
}
#endif
diff --git a/hw/xfree86/xaa/xaaPaintWin.c b/hw/xfree86/xaa/xaaPaintWin.c
index cb6beb77b..0e95b7bbd 100644
--- a/hw/xfree86/xaa/xaaPaintWin.c
+++ b/hw/xfree86/xaa/xaaPaintWin.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/hw/xfree86/xaa/xaaPaintWin.c,v 1.1.4.2 2004/02/25 21:46:56 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaPaintWin.c,v 1.11 2003/02/17 16:08:29 dawes Exp $ */
#include "misc.h"
@@ -17,8 +17,8 @@
#include "xaawrap.h"
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
void
@@ -93,11 +93,11 @@ XAAPaintWindow(
yorg = pBgWin->drawable.y;
#ifdef XINERAMA
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
int index = pScreen->myNum;
if(WindowTable[index] == pBgWin) {
- xorg -= xineramaDataPtr[index].x;
- yorg -= xineramaDataPtr[index].y;
+ xorg -= panoramiXdataPtr[index].x;
+ yorg -= panoramiXdataPtr[index].y;
}
}
#endif
diff --git a/hw/xfree86/xaa/xaaPict.c b/hw/xfree86/xaa/xaaPict.c
index fecbbcfa0..ce72d742c 100644
--- a/hw/xfree86/xaa/xaaPict.c
+++ b/hw/xfree86/xaa/xaaPict.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaPict.c,v 1.18 2003/04/23 18:35:34 eich Exp $
+ * $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaPict.c,v 1.19 2004/01/26 18:54:55 mvojkovi Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -219,6 +219,9 @@ XAADoComposite (
ySrc += pSrc->pDrawable->y;
if(pMask) {
+ if(pMask->componentAlpha)
+ return FALSE;
+
/* for now we only do it if there is a 1x1 (solid) source */
if((pSrc->pDrawable->width == 1) && (pSrc->pDrawable->height == 1)) {
diff --git a/hw/xfree86/xf8_32bpp/cfbpntwin.c b/hw/xfree86/xf8_32bpp/cfbpntwin.c
index 9730b0d0c..29ab23340 100644
--- a/hw/xfree86/xf8_32bpp/cfbpntwin.c
+++ b/hw/xfree86/xf8_32bpp/cfbpntwin.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/hw/xfree86/xf8_32bpp/cfbpntwin.c,v 1.1.4.2 2004/02/25 21:46:57 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/hw/xfree86/xf8_32bpp/cfbpntwin.c,v 1.5 2001/10/01 13:44:15 eich Exp $ */
#include "X.h"
@@ -16,8 +16,8 @@
#include "mi.h"
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
void
@@ -45,11 +45,11 @@ cfb8_32PaintWindow(
xorg = pWin->drawable.x;
yorg = pWin->drawable.y;
#ifdef XINERAMA
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
int index = pWin->drawable.pScreen->myNum;
if(WindowTable[index] == pWin) {
- xorg -= xineramaDataPtr[index].x;
- yorg -= xineramaDataPtr[index].y;
+ xorg -= panoramiXdataPtr[index].x;
+ yorg -= panoramiXdataPtr[index].y;
}
}
#endif
@@ -93,11 +93,11 @@ cfb8_32PaintWindow(
yorg = pBgWin->drawable.y;
#ifdef XINERAMA
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
int index = pWin->drawable.pScreen->myNum;
if(WindowTable[index] == pBgWin) {
- xorg -= xineramaDataPtr[index].x;
- yorg -= xineramaDataPtr[index].y;
+ xorg -= panoramiXdataPtr[index].x;
+ yorg -= panoramiXdataPtr[index].y;
}
}
#endif
diff --git a/hw/xwin/winmultiwindowshape.c b/hw/xwin/winmultiwindowshape.c
index 5c623d14e..2d6a6f2cc 100755
--- a/hw/xwin/winmultiwindowshape.c
+++ b/hw/xwin/winmultiwindowshape.c
@@ -28,7 +28,7 @@
* Authors: Kensuke Matsuzaki
* Harold L Hunt II
*/
-/* $XFree86: xc/programs/Xserver/hw/xwin/winmultiwindowshape.c,v 1.2 2003/11/10 18:22:44 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xwin/winmultiwindowshape.c,v 1.3 2003/12/22 01:34:20 dickey Exp $ */
#ifdef SHAPE
@@ -117,9 +117,9 @@ winReshapeMultiWindow (WindowPtr pWin)
if (!wBoundingShape (pWin))
return;
- REGION_NULL(pScreen, &rrNewShape);
- REGION_COPY(pScreen, &rrNewShape, wBoundingShape(pWin));
- REGION_TRANSLATE(pScreen,
+ REGION_NULL(pWin->drawable.pScreen, &rrNewShape);
+ REGION_COPY(pWin->drawable.pScreen, &rrNewShape, wBoundingShape(pWin));
+ REGION_TRANSLATE(pWin->drawable.pScreen,
&rrNewShape,
pWin->borderWidth,
pWin->borderWidth);
@@ -138,7 +138,7 @@ winReshapeMultiWindow (WindowPtr pWin)
if (!GetClientRect (pWinPriv->hWnd, &rcClient))
{
ErrorF ("winReshape - GetClientRect failed, bailing: %d\n",
- GetLastError ());
+ (int) GetLastError ());
return;
}
@@ -150,7 +150,7 @@ winReshapeMultiWindow (WindowPtr pWin)
if (!GetWindowRect (pWinPriv->hWnd, &rcWindow))
{
ErrorF ("winReshape - GetWindowRect failed, bailing: %d\n",
- GetLastError ());
+ (int) GetLastError ());
return;
}
@@ -165,7 +165,7 @@ winReshapeMultiWindow (WindowPtr pWin)
{
ErrorF ("winReshape - Initial CreateRectRgn (%d, %d, %d, %d) "
"failed: %d\n",
- 0, 0, rcWindow.right, iOffsetY, GetLastError ());
+ 0, 0, (int) rcWindow.right, iOffsetY, (int) GetLastError ());
}
/* Loop through all rectangles in the X region */
@@ -185,7 +185,7 @@ winReshapeMultiWindow (WindowPtr pWin)
pRects->y1 + iOffsetY - 1,
pRects->x2 + iOffsetX - 1,
pRects->y2 + iOffsetY - 1,
- GetLastError (),
+ (int) GetLastError (),
pRects->x1, pRects->x2, iOffsetX,
pRects->y1, pRects->y2, iOffsetY);
}
@@ -194,7 +194,7 @@ winReshapeMultiWindow (WindowPtr pWin)
if (CombineRgn (hRgn, hRgn, hRgnRect, RGN_OR) == ERROR)
{
ErrorF ("winReshape - CombineRgn () failed: %d\n",
- GetLastError ());
+ (int) GetLastError ());
}
/* Delete the temporary Windows region */
@@ -205,7 +205,7 @@ winReshapeMultiWindow (WindowPtr pWin)
pWinPriv->hRgn = hRgn;
}
- REGION_UNINIT(pScreen, &rrNewShape);
+ REGION_UNINIT(pWin->drawable.pScreen, &rrNewShape);
return;
}
diff --git a/hw/xwin/winwindow.c b/hw/xwin/winwindow.c
index 6515c8596..76dfc5d89 100644
--- a/hw/xwin/winwindow.c
+++ b/hw/xwin/winwindow.c
@@ -28,7 +28,7 @@
* Authors: Harold L Hunt II
* Kensuke Matsuzaki
*/
-/* $XFree86: xc/programs/Xserver/hw/xwin/winwindow.c,v 1.9 2003/11/10 18:22:44 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xwin/winwindow.c,v 1.10 2003/12/22 01:34:20 dickey Exp $ */
#include "win.h"
@@ -98,7 +98,7 @@ winCopyWindowNativeGDI (WindowPtr pWin,
int dx, dy;
int i, nbox;
WindowPtr pwinRoot;
- BoxPtr pBoxDst, pBoxSrc;
+ BoxPtr pBoxDst;
ScreenPtr pScreen = pWin->drawable.pScreen;
winScreenPriv(pScreen);
@@ -465,9 +465,7 @@ void
winReshapePRootless (WindowPtr pWin)
{
int nRects;
-#if 0
ScreenPtr pScreen = pWin->drawable.pScreen;
-#endif
RegionRec rrNewShape;
BoxPtr pShape, pRects, pEnd;
HRGN hRgn, hRgnRect;
diff --git a/include/globals.h b/include/globals.h
index 3eb92f1ec..633ab0c78 100644
--- a/include/globals.h
+++ b/include/globals.h
@@ -1,4 +1,4 @@
-/* $XdotOrg: xc/programs/Xserver/include/globals.h,v 1.4 2000/06/28 18:21:22 tsi Exp $ */
+/* $XdotOrg: xc/programs/Xserver/include/globals.h,v 1.1.4.2 2004/02/25 21:47:00 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/include/globals.h,v 1.4 2000/06/28 18:21:22 tsi Exp $ */
#ifndef _XSERV_GLOBAL_H_
@@ -42,11 +42,11 @@ extern Bool DPMSCapableFlag;
#endif
#ifdef XINERAMA
-extern Bool noXineramaExtension;
-extern Bool XineramaMapped;
-extern Bool XineramaVisibilityNotifySent;
-extern Bool XineramaWindowExposureSent;
-extern Bool XineramaOneExposeRequest;
+extern Bool noPanoramiXExtension;
+extern Bool PanoramiXMapped;
+extern Bool PanoramiXVisibilityNotifySent;
+extern Bool PanoramiXWindowExposureSent;
+extern Bool PanoramiXOneExposeRequest;
#endif
diff --git a/mi/miarc.c b/mi/miarc.c
index 70b9fde04..420b9ad66 100644
--- a/mi/miarc.c
+++ b/mi/miarc.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: xc/programs/Xserver/mi/miarc.c,v 3.15 2003/12/06 18:46:28 dawes Exp $ */
+/* $XdotOrg: xc/programs/Xserver/mi/miarc.c,v 1.1.4.4 2004/02/16 20:19:58 alanc Exp $ */
/* $XFree86: xc/programs/Xserver/mi/miarc.c,v 3.15 2003/12/06 18:46:28 dawes Exp $ */
/***********************************************************
@@ -50,7 +50,8 @@ SOFTWARE.
/* Author: Keith Packard and Bob Scheifler */
/* Warning: this code is toxic, do not dally very long here. */
-#if defined(_XOPEN_SOURCE) || defined(__QNXNTO__)
+#if defined(_XOPEN_SOURCE) || defined(__QNXNTO__) \
+ || (defined(sun) && defined(__SVR4))
#include <math.h>
#else
#define _XOPEN_SOURCE /* to get prototype for hypot on some systems */
diff --git a/mi/mibank.c b/mi/mibank.c
index cc2796edb..11708434c 100644
--- a/mi/mibank.c
+++ b/mi/mibank.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1997 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
+ * Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@@ -44,7 +44,7 @@
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/mi/mibank.c,v 1.15 2003/11/10 18:39:16 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/mi/mibank.c,v 1.16 2004/01/05 16:42:10 tsi Exp $ */
/*
* This thing originated from an idea of Edwin Goei and his bank switching
diff --git a/mi/mibank.h b/mi/mibank.h
index c3aa69379..eac53db20 100644
--- a/mi/mibank.h
+++ b/mi/mibank.h
@@ -1,5 +1,5 @@
/*
- * Copyright 1997 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
+ * Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@@ -20,7 +20,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/mi/mibank.h,v 1.10 2003/01/01 19:16:42 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/mi/mibank.h,v 1.11 2004/01/05 16:42:10 tsi Exp $ */
#ifndef __MIBANK_H__
#define __MIBANK_H__ 1
diff --git a/mi/miexpose.c b/mi/miexpose.c
index 96dd97d1d..f94ab0cdb 100644
--- a/mi/miexpose.c
+++ b/mi/miexpose.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/mi/miexpose.c,v 1.1.4.4 2004/02/25 21:47:02 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/mi/miexpose.c,v 3.10 2003/11/10 18:22:49 tsi Exp $ */
/***********************************************************
@@ -69,8 +69,8 @@ SOFTWARE.
#include "globals.h"
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
/*
@@ -427,19 +427,19 @@ miSendExposures(pWin, pRgn, dx, dy)
}
#ifdef XINERAMA
- if(!noXineramaExtension) {
+ if(!noPanoramiXExtension) {
int scrnum = pWin->drawable.pScreen->myNum;
int x = 0, y = 0;
XID realWin = 0;
if(!pWin->parent) {
- x = xineramaDataPtr[scrnum].x;
- y = xineramaDataPtr[scrnum].y;
+ x = panoramiXdataPtr[scrnum].x;
+ y = panoramiXdataPtr[scrnum].y;
pWin = WindowTable[0];
realWin = pWin->drawable.id;
} else if (scrnum) {
- XineramaRes *win;
- win = XineramaFindIDByScrnum(XRT_WINDOW,
+ PanoramiXRes *win;
+ win = PanoramiXFindIDByScrnum(XRT_WINDOW,
pWin->drawable.id, scrnum);
if(!win) {
DEALLOCATE_LOCAL(pEvent);
diff --git a/mi/miinitext.c b/mi/miinitext.c
index bc2dee641..2d2896ef4 100644
--- a/mi/miinitext.c
+++ b/mi/miinitext.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/mi/miinitext.c,v 1.1.4.3 2004/02/25 21:47:02 kaleb Exp $ */
/* $XFree86: xc/programs/Xserver/mi/miinitext.c,v 3.68 2003/01/15 02:34:14 torrey Exp $ */
/***********************************************************
@@ -63,7 +63,7 @@ SOFTWARE.
#endif
#ifdef XINERAMA
-extern Bool noXineramaExtension;
+extern Bool noPanoramiXExtension;
#endif
extern Bool noTestExtensions;
#ifdef XKB
@@ -104,7 +104,7 @@ typedef void (*InitExtension)(INITARGS);
#include "securstr.h"
#endif
#ifdef XINERAMA
-#include "xineramaProto.h"
+#include "panoramiXproto.h"
#endif
#ifdef XF86BIGFONT
#include "xf86bigfstr.h"
@@ -136,7 +136,7 @@ extern void PexExtensionInit(INITARGS);
extern void MultibufferExtensionInit(INITARGS);
#endif
#ifdef XINERAMA
-extern void XineramaExtensionInit(INITARGS);
+extern void PanoramiXExtensionInit(INITARGS);
#endif
#ifdef XINPUT
extern void XInputExtensionInit(INITARGS);
@@ -249,7 +249,7 @@ InitExtensions(argc, argv)
{
#ifdef XINERAMA
# if !defined(PRINT_ONLY_SERVER) && !defined(NO_XINERAMA)
- if (!noXineramaExtension) XineramaExtensionInit();
+ if (!noPanoramiXExtension) PanoramiXExtensionInit();
# endif
#endif
#ifdef BEZIER
@@ -438,7 +438,7 @@ ExtensionModule extension[] =
{ NULL, "TOG-CUP", NULL, NULL },
{ NULL, "Extended-Visual-Information", NULL, NULL },
#ifdef XINERAMA
- { NULL, "XINERAMA", &noXineramaExtension, NULL },
+ { NULL, "XINERAMA", &noPanoramiXExtension, NULL },
#else
{ NULL, "NOXINERAMA", NULL, NULL },
#endif
@@ -489,7 +489,7 @@ static ExtensionModule staticExtensions[] = {
{ XpExtensionInit, XP_PRINTNAME, NULL, NULL, NULL },
#endif
#ifdef XINERAMA
- { XineramaExtensionInit, XINERAMA_PROTOCOL_NAME, &noXineramaExtension, NULL, NULL },
+ { PanoramiXExtensionInit, PANORAMIX_PROTOCOL_NAME, &noPanoramiXExtension, NULL, NULL },
#endif
#ifdef XF86BIGFONT
{ XFree86BigfontExtensionInit, XF86BIGFONTNAME, NULL, NULL, NULL },
diff --git a/miext/rootless/safeAlpha/safeAlpha.h b/miext/rootless/safeAlpha/safeAlpha.h
index 440a5ecc9..90efec5c8 100644
--- a/miext/rootless/safeAlpha/safeAlpha.h
+++ b/miext/rootless/safeAlpha/safeAlpha.h
@@ -26,13 +26,12 @@
* holders shall not be used in advertising or otherwise to promote the sale,
* use or other dealings in this Software without prior written authorization.
*/
-/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlpha.h,v 1.2 2003/10/18 00:00:34 torrey Exp $ */
+/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlpha.h,v 1.3 2004/01/19 01:22:48 torrey Exp $ */
#ifndef _SAFEALPHA_H
#define _SAFEALPHA_H
#include "picturestr.h"
-#include "rootlessCommon.h"
void SafeAlphaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what);
diff --git a/miext/rootless/safeAlpha/safeAlphaPicture.c b/miext/rootless/safeAlpha/safeAlphaPicture.c
index ad9360c7e..3c9d39628 100644
--- a/miext/rootless/safeAlpha/safeAlphaPicture.c
+++ b/miext/rootless/safeAlpha/safeAlphaPicture.c
@@ -32,7 +32,7 @@
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*/
- /* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaPicture.c,v 1.3 2003/10/24 00:33:15 torrey Exp $ */
+ /* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaPicture.c,v 1.4 2004/01/19 01:22:48 torrey Exp $ */
#ifdef RENDER
@@ -41,6 +41,7 @@
#include "mipict.h"
#include "fbpict.h"
#include "safeAlpha.h"
+#include "rootlessCommon.h"
# define mod(a,b) ((b) == 1 ? 0 : (a) >= 0 ? (a) % (b) : (b) - (-a) % (b))
diff --git a/miext/rootless/safeAlpha/safeAlphaWindow.c b/miext/rootless/safeAlpha/safeAlphaWindow.c
index f5f445f0c..ec1c41435 100644
--- a/miext/rootless/safeAlpha/safeAlphaWindow.c
+++ b/miext/rootless/safeAlpha/safeAlphaWindow.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaWindow.c,v 1.1.4.2 2004/02/23 21:37:25 kaleb Exp $ */
/*
* Specialized window functions to protect the alpha channel
*/
@@ -32,10 +32,11 @@
*
* Copyright © 1998 Keith Packard
*/
-/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaWindow.c,v 1.1 2003/09/16 00:36:20 torrey Exp $ */
+/* $XFree86: xc/programs/Xserver/miext/rootless/safeAlpha/safeAlphaWindow.c,v 1.2 2004/01/19 01:22:48 torrey Exp $ */
#include "fb.h"
#include "safeAlpha.h"
+#include "rootlessCommon.h"
#ifdef XINERAMA
#include "xinerama.h"
diff --git a/os/access.c b/os/access.c
index 77dcebe20..14b61839c 100644
--- a/os/access.c
+++ b/os/access.c
@@ -45,7 +45,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
-/* $XFree86: xc/programs/Xserver/os/access.c,v 3.50 2003/11/03 05:12:00 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/os/access.c,v 3.54 2004/01/03 17:38:39 herrb Exp $ */
#ifdef WIN32
#include <X11/Xwinsock.h>
@@ -645,6 +645,20 @@ DefineLocalHost:
#include <arpa/inet.h>
#endif
+#if defined(IPv6) && defined(AF_INET6)
+static void
+in6_fillscopeid(struct sockaddr_in6 *sin6)
+{
+#if defined(__KAME__)
+ if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
+ sin6->sin6_scope_id =
+ ntohs(*(u_int16_t *)&sin6->sin6_addr.s6_addr[2]);
+ sin6->sin6_addr.s6_addr[2] = sin6->sin6_addr.s6_addr[3] = 0;
+ }
+#endif
+}
+#endif
+
void
DefineSelf (int fd)
{
@@ -761,6 +775,10 @@ DefineSelf (int fd)
#endif /* DNETCONN */
if (family == -1 || family == FamilyLocal)
continue;
+#if defined(IPv6) && defined(AF_INET6)
+ if (family == FamilyInternet6)
+ in6_fillscopeid((struct sockaddr_in6 *)&IFR_IFR_ADDR);
+#endif
#ifdef DEF_SELF_DEBUG
if (family == FamilyInternet)
ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %d.%d.%d.%d\n",
@@ -898,10 +916,24 @@ DefineSelf (int fd)
family = ConvertAddr(ifr->ifa_addr, &len, (pointer *)&addr);
if (family == -1 || family == FamilyLocal)
continue;
+#if defined(IPv6) && defined(AF_INET6)
+ if (family == FamilyInternet6)
+ in6_fillscopeid((struct sockaddr_in6 *)ifr->ifa_addr);
+#endif
+
#ifdef DEF_SELF_DEBUG
if (family == FamilyInternet)
ErrorF("Xserver: DefineSelf(): ifname = %s, addr = %d.%d.%d.%d\n",
ifr->ifa_name, addr[0], addr[1], addr[2], addr[3]);
+#if defined(IPv6) && defined(AF_INET6)
+ else if (family == FamilyInternet6) {
+ char cp[INET6_ADDRSTRLEN];
+
+ inet_ntop(AF_INET6, addr, cp, sizeof(cp));
+ ErrorF("Xserver: DefineSelf(): ifname = %s addr = %s\n",
+ ifr->ifa_name, cp);
+ }
+#endif
#endif /* DEF_SELF_DEBUG */
for (host = selfhosts;
host != NULL && !addrEqual(family, addr, len, host);
@@ -923,17 +955,34 @@ DefineSelf (int fd)
/*
* If this isn't an Internet Address, don't register it.
*/
- if (family != FamilyInternet)
+ if (family != FamilyInternet
+#if defined(IPv6) && defined(AF_INET6)
+ && family != FamilyInternet6
+#endif
+ )
continue;
/*
- * ignore 'localhost' entries as they're not usefule
+ * ignore 'localhost' entries as they're not useful
* on the other end of the wire
*/
- if (len == 4 &&
+ if (ifr->ifa_flags & IFF_LOOPBACK)
+ continue;
+
+ if (family == FamilyInternet &&
addr[0] == 127 && addr[1] == 0 &&
- addr[2] == 0 && addr[2] == 1)
+ addr[2] == 0 && addr[3] == 1)
continue;
+#if defined(IPv6) && defined(AF_INET6)
+ else if (family == FamilyInternet6 &&
+ IN6_IS_ADDR_LOOPBACK((struct in6_addr *)addr))
+ continue;
+#endif
XdmcpRegisterConnection(family, (char *)addr, len);
+#if defined(IPv6) && defined(AF_INET6)
+ if (family == FamilyInternet6)
+ /* IPv6 doesn't support broadcasting, so we drop out here */
+ continue;
+#endif
if ((ifr->ifa_flags & IFF_BROADCAST) &&
(ifr->ifa_flags & IFF_UP))
broad_addr = *ifr->ifa_broadaddr;
diff --git a/os/utils.c b/os/utils.c
index c10fad5ae..654c8bc7e 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: utils.c,v 1.5 2001/02/09 02:05:24 xorgcvs Exp $ */
+/* $XdotOrg: xc/programs/Xserver/os/utils.c,v 1.1.4.6 2004/02/25 21:47:04 kaleb Exp $ */
/* $Xorg: utils.c,v 1.5 2001/02/09 02:05:24 xorgcvs Exp $ */
/*
@@ -50,7 +50,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $XFree86: xc/programs/Xserver/os/utils.c,v 3.95 2003/10/01 18:36:38 alanh Exp $ */
+/* $XFree86: xc/programs/Xserver/os/utils.c,v 3.97 2004/01/09 00:35:06 dawes Exp $ */
#ifdef __CYGWIN__
#include <stdlib.h>
@@ -129,12 +129,12 @@ OR PERFORMANCE OF THIS SOFTWARE.
Bool CoreDump;
Bool noTestExtensions;
-Bool noXineramaExtension = TRUE;
+Bool noPanoramiXExtension = TRUE;
#ifdef XINERAMA
-Bool XineramaVisibilityNotifySent = FALSE;
-Bool XineramaMapped = FALSE;
-Bool XineramaWindowExposureSent = FALSE;
-Bool XineramaOneExposeRequest = FALSE;
+Bool PanoramiXVisibilityNotifySent = FALSE;
+Bool PanoramiXMapped = FALSE;
+Bool PanoramiXWindowExposureSent = FALSE;
+Bool PanoramiXOneExposeRequest = FALSE;
#endif
int auditTrailLevel = 1;
@@ -245,6 +245,7 @@ LockServer(void)
int lfd, i, haslock, l_pid, t;
char *tmppath = NULL;
int len;
+ char port[20];
if (nolock) return;
/*
@@ -259,13 +260,14 @@ LockServer(void)
FatalError("No TMP dir found\n");
#endif
+ sprintf(port, "%d", atoi(display));
len = strlen(LOCK_PREFIX) > strlen(LOCK_TMP_PREFIX) ? strlen(LOCK_PREFIX) :
strlen(LOCK_TMP_PREFIX);
- len += strlen(tmppath) + strlen(display) + strlen(LOCK_SUFFIX) + 1;
+ len += strlen(tmppath) + strlen(port) + strlen(LOCK_SUFFIX) + 1;
if (len > sizeof(LockFile))
- FatalError("Display name `%s' is too long\n", display);
- (void)sprintf(tmp, "%s" LOCK_TMP_PREFIX "%s" LOCK_SUFFIX, tmppath, display);
- (void)sprintf(LockFile, "%s" LOCK_PREFIX "%s" LOCK_SUFFIX, tmppath, display);
+ FatalError("Display name `%s' is too long\n", port);
+ (void)sprintf(tmp, "%s" LOCK_TMP_PREFIX "%s" LOCK_SUFFIX, tmppath, port);
+ (void)sprintf(LockFile, "%s" LOCK_PREFIX "%s" LOCK_SUFFIX, tmppath, port);
/*
* Create a temporary file containing our PID. Attempt three times
@@ -360,7 +362,7 @@ LockServer(void)
*/
unlink(tmp);
FatalError("Server is already active for display %s\n%s %s\n%s\n",
- display, "\tIf this server is no longer running, remove",
+ port, "\tIf this server is no longer running, remove",
LockFile, "\tand start again.");
}
}
@@ -585,8 +587,10 @@ ProcessCommandLine(int argc, char *argv[])
defaultKeyboardControl.autoRepeat = TRUE;
-#ifdef PART_NET
- PartialNetwork = TRUE;
+#ifdef NO_PART_NET
+ PartialNetwork = FALSE;
+#else
+ PartialNetwork = TRUE;
#endif
for ( i = 1; i < argc; i++ )
@@ -882,10 +886,10 @@ ProcessCommandLine(int argc, char *argv[])
}
#ifdef XINERAMA
else if ( strcmp( argv[i], "+xinerama") == 0){
- noXineramaExtension = FALSE;
+ noPanoramiXExtension = FALSE;
}
else if ( strcmp( argv[i], "-xinerama") == 0){
- noXineramaExtension = TRUE;
+ noPanoramiXExtension = TRUE;
}
#endif
else if ( strcmp( argv[i], "-x") == 0)
diff --git a/os/xdmcp.c b/os/xdmcp.c
index a949d2d10..6ffaa3f24 100644
--- a/os/xdmcp.c
+++ b/os/xdmcp.c
@@ -1,4 +1,4 @@
-/* $XdotOrg: xdmcp.c,v 1.4 2001/01/31 13:37:19 pookie Exp $ */
+/* $XdotOrg: xc/programs/Xserver/os/xdmcp.c,v 1.1.4.5 2004/02/23 21:37:27 kaleb Exp $ */
/* $Xorg: xdmcp.c,v 1.4 2001/01/31 13:37:19 pookie Exp $ */
/*
* Copyright 1989 Network Computing Devices, Inc., Mountain View, California.
@@ -14,7 +14,7 @@
* without express or implied warranty.
*
*/
-/* $XFree86: xc/programs/Xserver/os/xdmcp.c,v 3.29 2003/11/22 04:51:02 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/os/xdmcp.c,v 3.32 2004/01/01 17:09:29 herrb Exp $ */
#ifdef WIN32
/* avoid conflicting definitions */
@@ -759,14 +759,6 @@ XdmcpSelectHost(
int host_len,
ARRAY8Ptr AuthenticationName)
{
-#if defined(IPv6) && defined(AF_INET6)
- /* Don't need list of addresses for host anymore */
- if (mgrAddrFirst != NULL) {
- freeaddrinfo(mgrAddrFirst);
- mgrAddrFirst = NULL;
- mgrAddr = NULL;
- }
-#endif
state = XDM_START_CONNECTION;
memmove(&req_sockaddr, host_sockaddr, host_len);
req_socklen = host_len;
@@ -1162,7 +1154,7 @@ send_query_msg(void)
socketfd = xdmcpSocket6;
#endif
XdmcpFlush (socketfd, &buffer, (XdmcpNetaddr) &ManagerAddress,
- sizeof (ManagerAddress));
+ ManagerAddressLen);
}
}
@@ -1214,9 +1206,19 @@ send_request_msg(void)
XdmcpHeader header;
int length;
int i;
+ CARD16 XdmcpConnectionType;
ARRAY8 authenticationData;
int socketfd = xdmcpSocket;
+ switch (SOCKADDR_FAMILY(ManagerAddress))
+ {
+ case AF_INET: XdmcpConnectionType=FamilyInternet; break;
+#if defined(IPv6) && defined(AF_INET6)
+ case AF_INET6: XdmcpConnectionType=FamilyInternet6; break;
+#endif
+ default: XdmcpConnectionType=0xffff; break;
+ }
+
header.version = XDM_PROTOCOL_VERSION;
header.opcode = (CARD16) REQUEST;
@@ -1247,8 +1249,27 @@ send_request_msg(void)
return;
}
XdmcpWriteCARD16 (&buffer, DisplayNumber);
- XdmcpWriteARRAY16 (&buffer, &ConnectionTypes);
- XdmcpWriteARRAYofARRAY8 (&buffer, &ConnectionAddresses);
+ XdmcpWriteCARD8 (&buffer, ConnectionTypes.length);
+
+ /* The connection array is send reordered, so that connections of */
+ /* the same address type as the XDMCP manager connection are send */
+ /* first. This works around a bug in xdm. mario@klebsch.de */
+ for (i = 0; i < (int)ConnectionTypes.length; i++)
+ if (ConnectionTypes.data[i]==XdmcpConnectionType)
+ XdmcpWriteCARD16 (&buffer, ConnectionTypes.data[i]);
+ for (i = 0; i < (int)ConnectionTypes.length; i++)
+ if (ConnectionTypes.data[i]!=XdmcpConnectionType)
+ XdmcpWriteCARD16 (&buffer, ConnectionTypes.data[i]);
+
+ XdmcpWriteCARD8 (&buffer, ConnectionAddresses.length);
+ for (i = 0; i < (int)ConnectionAddresses.length; i++)
+ if ( (i<ConnectionTypes.length) &&
+ (ConnectionTypes.data[i]==XdmcpConnectionType) )
+ XdmcpWriteARRAY8 (&buffer, &ConnectionAddresses.data[i]);
+ for (i = 0; i < (int)ConnectionAddresses.length; i++)
+ if ( (i>=ConnectionTypes.length) ||
+ (ConnectionTypes.data[i]!=XdmcpConnectionType) )
+ XdmcpWriteARRAY8 (&buffer, &ConnectionAddresses.data[i]);
XdmcpWriteARRAY8 (&buffer, AuthenticationName);
XdmcpWriteARRAY8 (&buffer, &authenticationData);
diff --git a/record/record.c b/record/record.c
index 59e90cb30..46f0fa525 100644
--- a/record/record.c
+++ b/record/record.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/record/record.c,v 1.1.4.4 2004/02/25 21:47:07 kaleb Exp $ */
/* $Xorg: record.c,v 1.4 2001/02/09 02:05:27 xorgcvs Exp $ */
/*
@@ -51,8 +51,8 @@ and Jim Haggerty of Metheus.
#ifdef XINERAMA
#include "globals.h"
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#include "cursor.h"
#endif
@@ -874,7 +874,7 @@ RecordADeviceEvent(pcbl, nulldata, calldata)
#ifdef XINERAMA
xEvent shiftedEvent;
- if (!noXineramaExtension &&
+ if (!noPanoramiXExtension &&
(pev->u.u.type == MotionNotify ||
pev->u.u.type == ButtonPress ||
pev->u.u.type == ButtonRelease ||
@@ -883,11 +883,11 @@ RecordADeviceEvent(pcbl, nulldata, calldata)
int scr = XineramaGetCursorScreen();
memcpy(&shiftedEvent, pev, sizeof(xEvent));
shiftedEvent.u.keyButtonPointer.rootX +=
- xineramaDataPtr[scr].x -
- xineramaDataPtr[0].x;
+ panoramiXdataPtr[scr].x -
+ panoramiXdataPtr[0].x;
shiftedEvent.u.keyButtonPointer.rootY +=
- xineramaDataPtr[scr].y -
- xineramaDataPtr[0].y;
+ panoramiXdataPtr[scr].y -
+ panoramiXdataPtr[0].y;
pEvToRecord = &shiftedEvent;
}
#endif /* XINERAMA */
diff --git a/render/picturestr.h b/render/picturestr.h
index 7620c59a5..9c2a08b03 100644
--- a/render/picturestr.h
+++ b/render/picturestr.h
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/render/picturestr.h,v 1.1.4.2 2004/02/25 21:47:08 kaleb Exp $ */
/*
* $XFree86: xc/programs/Xserver/render/picturestr.h,v 1.22 2002/11/23 02:38:15 keithp Exp $
*
@@ -495,8 +495,8 @@ int
AnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *ppCursor);
#ifdef XINERAMA
-void XineramaRenderInit (void);
-void XineramaRenderReset (void);
+void PanoramiXRenderInit (void);
+void PanoramiXRenderReset (void);
#endif
#endif /* _PICTURESTR_H_ */
diff --git a/render/render.c b/render/render.c
index ff5346c66..781c3b8de 100644
--- a/render/render.c
+++ b/render/render.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/render/render.c,v 1.1.4.3 2004/02/25 21:47:08 kaleb Exp $ */
/*
* $XFree86: xc/programs/Xserver/render/render.c,v 1.28 2003/11/03 05:12:02 tsi Exp $
*
@@ -338,7 +338,7 @@ ProcRenderQueryPictFormats (ClientPtr client)
REQUEST_SIZE_MATCH(xRenderQueryPictFormatsReq);
#ifdef XINERAMA
- if (noXineramaExtension)
+ if (noPanoramiXExtension)
numScreens = screenInfo.numScreens;
else
numScreens = ((xConnSetup *)ConnectionInfo)->numRoots;
@@ -2285,8 +2285,8 @@ SProcRenderDispatch (ClientPtr client)
}
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#define VERIFY_XIN_PICTURE(pPicture, pid, client, mode, err) {\
pPicture = SecurityLookupIDByType(client, pid, XRT_PICTURE, mode);\
@@ -2312,14 +2312,14 @@ static int
XineramaRenderCreatePicture (ClientPtr client)
{
REQUEST(xRenderCreatePictureReq);
- XineramaRes *refDraw, *newPict;
+ PanoramiXRes *refDraw, *newPict;
int result = Success, j;
REQUEST_AT_LEAST_SIZE(xRenderCreatePictureReq);
- if(!(refDraw = (XineramaRes *)SecurityLookupIDByClass(
+ if(!(refDraw = (PanoramiXRes *)SecurityLookupIDByClass(
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
return BadDrawable;
- if(!(newPict = (XineramaRes *) xalloc(sizeof(XineramaRes))))
+ if(!(newPict = (PanoramiXRes *) xalloc(sizeof(PanoramiXRes))))
return BadAlloc;
newPict->type = XRT_PICTURE;
newPict->info[0].id = stuff->pid;
@@ -2332,7 +2332,7 @@ XineramaRenderCreatePicture (ClientPtr client)
else
newPict->u.pict.root = FALSE;
- for(j = 1; j < XineramaNumScreens; j++)
+ for(j = 1; j < PanoramiXNumScreens; j++)
newPict->info[j].id = FakeClientID(client->index);
FOR_NSCREENS_BACKWARD(j) {
@@ -2353,7 +2353,7 @@ XineramaRenderCreatePicture (ClientPtr client)
static int
XineramaRenderChangePicture (ClientPtr client)
{
- XineramaRes *pict;
+ PanoramiXRes *pict;
int result = Success, j;
REQUEST(xRenderChangePictureReq);
@@ -2376,7 +2376,7 @@ XineramaRenderSetPictureClipRectangles (ClientPtr client)
{
REQUEST(xRenderSetPictureClipRectanglesReq);
int result = Success, j;
- XineramaRes *pict;
+ PanoramiXRes *pict;
REQUEST_AT_LEAST_SIZE(xRenderSetPictureClipRectanglesReq);
@@ -2397,7 +2397,7 @@ XineramaRenderSetPictureTransform (ClientPtr client)
{
REQUEST(xRenderSetPictureTransformReq);
int result = Success, j;
- XineramaRes *pict;
+ PanoramiXRes *pict;
REQUEST_AT_LEAST_SIZE(xRenderSetPictureTransformReq);
@@ -2418,7 +2418,7 @@ XineramaRenderSetPictureFilter (ClientPtr client)
{
REQUEST(xRenderSetPictureFilterReq);
int result = Success, j;
- XineramaRes *pict;
+ PanoramiXRes *pict;
REQUEST_AT_LEAST_SIZE(xRenderSetPictureFilterReq);
@@ -2437,7 +2437,7 @@ XineramaRenderSetPictureFilter (ClientPtr client)
static int
XineramaRenderFreePicture (ClientPtr client)
{
- XineramaRes *pict;
+ PanoramiXRes *pict;
int result = Success, j;
REQUEST(xRenderFreePictureReq);
@@ -2464,7 +2464,7 @@ XineramaRenderFreePicture (ClientPtr client)
static int
XineramaRenderComposite (ClientPtr client)
{
- XineramaRes *src, *msk, *dst;
+ PanoramiXRes *src, *msk, *dst;
int result = Success, j;
xRenderCompositeReq orig;
REQUEST(xRenderCompositeReq);
@@ -2484,22 +2484,22 @@ XineramaRenderComposite (ClientPtr client)
stuff->src = src->info[j].id;
if (src->u.pict.root)
{
- stuff->xSrc = orig.xSrc - xineramaDataPtr[j].x;
- stuff->ySrc = orig.ySrc - xineramaDataPtr[j].y;
+ stuff->xSrc = orig.xSrc - panoramiXdataPtr[j].x;
+ stuff->ySrc = orig.ySrc - panoramiXdataPtr[j].y;
}
stuff->dst = dst->info[j].id;
if (dst->u.pict.root)
{
- stuff->xDst = orig.xDst - xineramaDataPtr[j].x;
- stuff->yDst = orig.yDst - xineramaDataPtr[j].y;
+ stuff->xDst = orig.xDst - panoramiXdataPtr[j].x;
+ stuff->yDst = orig.yDst - panoramiXdataPtr[j].y;
}
if (msk)
{
stuff->mask = msk->info[j].id;
if (msk->u.pict.root)
{
- stuff->xMask = orig.xMask - xineramaDataPtr[j].x;
- stuff->yMask = orig.yMask - xineramaDataPtr[j].y;
+ stuff->xMask = orig.xMask - panoramiXdataPtr[j].x;
+ stuff->yMask = orig.yMask - panoramiXdataPtr[j].y;
}
}
result = (*XineramaSaveRenderVector[X_RenderComposite]) (client);
@@ -2512,7 +2512,7 @@ XineramaRenderComposite (ClientPtr client)
static int
XineramaRenderCompositeGlyphs (ClientPtr client)
{
- XineramaRes *src, *dst;
+ PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderCompositeGlyphsReq);
xGlyphElt origElt, *elt;
@@ -2535,14 +2535,14 @@ XineramaRenderCompositeGlyphs (ClientPtr client)
stuff->src = src->info[j].id;
if (src->u.pict.root)
{
- stuff->xSrc = xSrc - xineramaDataPtr[j].x;
- stuff->ySrc = ySrc - xineramaDataPtr[j].y;
+ stuff->xSrc = xSrc - panoramiXdataPtr[j].x;
+ stuff->ySrc = ySrc - panoramiXdataPtr[j].y;
}
stuff->dst = dst->info[j].id;
if (dst->u.pict.root)
{
- elt->deltax = origElt.deltax - xineramaDataPtr[j].x;
- elt->deltay = origElt.deltay - xineramaDataPtr[j].y;
+ elt->deltax = origElt.deltax - panoramiXdataPtr[j].x;
+ elt->deltay = origElt.deltay - panoramiXdataPtr[j].y;
}
result = (*XineramaSaveRenderVector[stuff->renderReqType]) (client);
if(result != Success) break;
@@ -2555,7 +2555,7 @@ XineramaRenderCompositeGlyphs (ClientPtr client)
static int
XineramaRenderFillRectangles (ClientPtr client)
{
- XineramaRes *dst;
+ PanoramiXRes *dst;
int result = Success, j;
REQUEST(xRenderFillRectanglesReq);
char *extra;
@@ -2573,8 +2573,8 @@ XineramaRenderFillRectangles (ClientPtr client)
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root)
{
- int x_off = xineramaDataPtr[j].x;
- int y_off = xineramaDataPtr[j].y;
+ int x_off = panoramiXdataPtr[j].x;
+ int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
xRectangle *rects = (xRectangle *) (stuff + 1);
@@ -2601,7 +2601,7 @@ XineramaRenderFillRectangles (ClientPtr client)
static int
XineramaRenderTrapezoids(ClientPtr client)
{
- XineramaRes *src, *dst;
+ PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderTrapezoidsReq);
char *extra;
@@ -2623,8 +2623,8 @@ XineramaRenderTrapezoids(ClientPtr client)
FOR_NSCREENS_FORWARD(j) {
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root) {
- int x_off = xineramaDataPtr[j].x;
- int y_off = xineramaDataPtr[j].y;
+ int x_off = panoramiXdataPtr[j].x;
+ int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
xTrapezoid *trap = (xTrapezoid *) (stuff + 1);
@@ -2663,7 +2663,7 @@ XineramaRenderTrapezoids(ClientPtr client)
static int
XineramaRenderTriangles(ClientPtr client)
{
- XineramaRes *src, *dst;
+ PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderTrianglesReq);
char *extra;
@@ -2685,8 +2685,8 @@ XineramaRenderTriangles(ClientPtr client)
FOR_NSCREENS_FORWARD(j) {
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root) {
- int x_off = xineramaDataPtr[j].x;
- int y_off = xineramaDataPtr[j].y;
+ int x_off = panoramiXdataPtr[j].x;
+ int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
xTriangle *tri = (xTriangle *) (stuff + 1);
@@ -2721,7 +2721,7 @@ XineramaRenderTriangles(ClientPtr client)
static int
XineramaRenderTriStrip(ClientPtr client)
{
- XineramaRes *src, *dst;
+ PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderTriStripReq);
char *extra;
@@ -2743,8 +2743,8 @@ XineramaRenderTriStrip(ClientPtr client)
FOR_NSCREENS_FORWARD(j) {
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root) {
- int x_off = xineramaDataPtr[j].x;
- int y_off = xineramaDataPtr[j].y;
+ int x_off = panoramiXdataPtr[j].x;
+ int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
xPointFixed *fixed = (xPointFixed *) (stuff + 1);
@@ -2775,7 +2775,7 @@ XineramaRenderTriStrip(ClientPtr client)
static int
XineramaRenderTriFan(ClientPtr client)
{
- XineramaRes *src, *dst;
+ PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderTriFanReq);
char *extra;
@@ -2797,8 +2797,8 @@ XineramaRenderTriFan(ClientPtr client)
FOR_NSCREENS_FORWARD(j) {
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root) {
- int x_off = xineramaDataPtr[j].x;
- int y_off = xineramaDataPtr[j].y;
+ int x_off = panoramiXdataPtr[j].x;
+ int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
xPointFixed *fixed = (xPointFixed *) (stuff + 1);
@@ -2831,7 +2831,7 @@ XineramaRenderTriFan(ClientPtr client)
static int
XineramaRenderColorTrapezoids(ClientPtr client)
{
- XineramaRes *src, *dst;
+ PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderColorTrapezoidsReq);
char *extra;
@@ -2851,8 +2851,8 @@ XineramaRenderColorTrapezoids(ClientPtr client)
FOR_NSCREENS_FORWARD(j) {
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root) {
- int x_off = xineramaDataPtr[j].x;
- int y_off = xineramaDataPtr[j].y;
+ int x_off = panoramiXdataPtr[j].x;
+ int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
....;
@@ -2875,7 +2875,7 @@ XineramaRenderColorTrapezoids(ClientPtr client)
static int
XineramaRenderColorTriangles(ClientPtr client)
{
- XineramaRes *src, *dst;
+ PanoramiXRes *src, *dst;
int result = Success, j;
REQUEST(xRenderColorTrianglesReq);
char *extra;
@@ -2895,8 +2895,8 @@ XineramaRenderColorTriangles(ClientPtr client)
FOR_NSCREENS_FORWARD(j) {
if (j) memcpy (stuff + 1, extra, extra_len);
if (dst->u.pict.root) {
- int x_off = xineramaDataPtr[j].x;
- int y_off = xineramaDataPtr[j].y;
+ int x_off = panoramiXdataPtr[j].x;
+ int y_off = panoramiXdataPtr[j].y;
if(x_off || y_off) {
....;
@@ -2919,7 +2919,7 @@ XineramaRenderColorTriangles(ClientPtr client)
#endif
void
-XineramaRenderInit (void)
+PanoramiXRenderInit (void)
{
int i;
@@ -2948,7 +2948,7 @@ XineramaRenderInit (void)
}
void
-XineramaRenderReset (void)
+PanoramiXRenderReset (void)
{
int i;
for (i = 0; i < RenderNumberRequests; i++)
diff --git a/xkb/ddxFakeMtn.c b/xkb/ddxFakeMtn.c
index a9137a0de..89b9d40b3 100644
--- a/xkb/ddxFakeMtn.c
+++ b/xkb/ddxFakeMtn.c
@@ -1,4 +1,4 @@
-/* $XdotOrg$ */
+/* $XdotOrg: xc/programs/Xserver/xkb/ddxFakeMtn.c,v 1.1.4.5 2004/02/25 21:47:10 kaleb Exp $ */
/* $Xorg: ddxFakeMtn.c,v 1.3 2000/08/17 19:53:45 cpqbld Exp $ */
/************************************************************
Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
@@ -39,8 +39,8 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#include "XI.h"
#ifdef XINERAMA
-#include "xinerama.h"
-#include "xineramaSrv.h"
+#include "panoramiX.h"
+#include "panoramiXsrv.h"
#endif
#include "mipointer.h"
@@ -56,7 +56,7 @@ ScreenPtr pScreen, oldScreen;
pScreen = oldScreen = GetSpriteWindow()->drawable.pScreen;
#ifdef XINERAMA
- if (!noXineramaExtension) {
+ if (!noPanoramiXExtension) {
BoxRec box;
int i;
@@ -93,8 +93,8 @@ ScreenPtr pScreen, oldScreen;
}
}
}
- oldX -= xineramaDataPtr[pScreen->myNum].x;
- oldY -= xineramaDataPtr[pScreen->myNum].y;
+ oldX -= panoramiXdataPtr[pScreen->myNum].x;
+ oldY -= panoramiXdataPtr[pScreen->myNum].y;
}
else
#endif
diff --git a/xkb/xkb.c b/xkb/xkb.c
index 273385ef6..f43fb285f 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -24,7 +24,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
THE USE OR PERFORMANCE OF THIS SOFTWARE.
********************************************************/
-/* $XFree86: xc/programs/Xserver/xkb/xkb.c,v 3.22 2003/11/17 22:20:45 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/xkb/xkb.c,v 3.23 2003/12/22 17:48:11 tsi Exp $ */
#include <stdio.h>
#include "X.h"
@@ -2307,8 +2307,7 @@ ProcXkbSetMap(ClientPtr client)
stuff->maxKeyCode= xkb->max_key_code;
}
else {
- if ((stuff->minKeyCode<XkbMinLegalKeyCode)||
- (stuff->maxKeyCode>XkbMaxLegalKeyCode)) {
+ if (!XkbIsLegalKeycode(stuff->minKeyCode)) {
client->errorValue= _XkbErrCode3(2,stuff->minKeyCode,
stuff->maxKeyCode);
return BadValue;
diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c
index 403c2fb89..853a8c426 100644
--- a/xkb/xkbActions.c
+++ b/xkb/xkbActions.c
@@ -46,8 +46,47 @@ extern void ProcessOtherEvent(
);
#endif
+static unsigned int _xkbServerGeneration;
+int xkbDevicePrivateIndex = -1;
+
/***====================================================================***/
+void
+xkbUnwrapProc(DeviceIntPtr device, DeviceHandleProc proc,
+ pointer data)
+{
+ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(device);
+ ProcessInputProc tmp = device->public.processInputProc;
+
+ UNWRAP_PROCESS_INPUT_PROC(device,xkbPrivPtr);
+ proc(device,data);
+ WRAP_PROCESS_INPUT_PROC(device,xkbPrivPtr,
+ tmp,xkbUnwrapProc);
+}
+
+void
+XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc)
+{
+ xkbDeviceInfoPtr xkbPrivPtr;
+
+ if (serverGeneration != _xkbServerGeneration) {
+ if ((xkbDevicePrivateIndex = AllocateDevicePrivateIndex()) == -1)
+ return;
+ _xkbServerGeneration = serverGeneration;
+ }
+ if (!AllocateDevicePrivate(device, xkbDevicePrivateIndex))
+ return;
+
+ xkbPrivPtr = (xkbDeviceInfoPtr) xcalloc(sizeof(xkbDeviceInfoRec),1);
+ if (!xkbPrivPtr)
+ return;
+ xkbPrivPtr->unwrapProc = NULL;
+
+ device->devPrivates[xkbDevicePrivateIndex].ptr = xkbPrivPtr;
+ WRAP_PROCESS_INPUT_PROC(device,xkbPrivPtr,
+ proc,xkbUnwrapProc);
+}
+
static XkbAction
_FixUpAction(XkbDescPtr xkb,XkbAction *act)
{
@@ -822,6 +861,7 @@ xEvent ev;
int x,y;
XkbStateRec old;
unsigned mods,mask,oldCoreState = 0,oldCorePrevState = 0;
+xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(xkbi->device);
if ((filter->keycode!=0)&&(filter->keycode!=keycode))
return 1;
@@ -870,7 +910,10 @@ unsigned mods,mask,oldCoreState = 0,oldCorePrevState = 0;
realMods = xkbi->device->key->modifierMap[ev.u.u.detail];
xkbi->device->key->modifierMap[ev.u.u.detail] = 0;
- CoreProcessKeyboardEvent(&ev,xkbi->device,1);
+ UNWRAP_PROCESS_INPUT_PROC(xkbi->device,xkbPrivPtr);
+ xkbi->device->public.processInputProc(&ev,xkbi->device,1);
+ COND_WRAP_PROCESS_INPUT_PROC(xkbi->device, xkbPrivPtr,
+ ProcessKeyboardEvent,xkbUnwrapProc);
xkbi->device->key->modifierMap[ev.u.u.detail] = realMods;
if ( mask || mods ) {
@@ -908,7 +951,10 @@ unsigned mods,mask,oldCoreState = 0,oldCorePrevState = 0;
realMods = xkbi->device->key->modifierMap[ev.u.u.detail];
xkbi->device->key->modifierMap[ev.u.u.detail] = 0;
- CoreProcessKeyboardEvent(&ev,xkbi->device,1);
+ UNWRAP_PROCESS_INPUT_PROC(xkbi->device,xkbPrivPtr);
+ xkbi->device->public.processInputProc(&ev,xkbi->device,1);
+ COND_WRAP_PROCESS_INPUT_PROC(xkbi->device, xkbPrivPtr,
+ ProcessKeyboardEvent,xkbUnwrapProc);
xkbi->device->key->modifierMap[ev.u.u.detail] = realMods;
if ( mask || mods ) {
@@ -1102,7 +1148,8 @@ Bool pressEvent;
#ifdef XINPUT
Bool xiEvent;
#endif
-
+xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
+
keyc= kbd->key;
xkbi= keyc->xkbInfo;
key= xE->u.u.detail;
@@ -1244,10 +1291,17 @@ Bool xiEvent;
if (keyEvent) {
realMods = keyc->modifierMap[key];
keyc->modifierMap[key] = 0;
- CoreProcessKeyboardEvent(xE,dev,count);
+ UNWRAP_PROCESS_INPUT_PROC(dev,xkbPrivPtr);
+ dev->public.processInputProc(xE,dev,count);
+ COND_WRAP_PROCESS_INPUT_PROC(dev, xkbPrivPtr,
+ ProcessKeyboardEvent,xkbUnwrapProc);
keyc->modifierMap[key] = realMods;
+ } else {
+ UNWRAP_PROCESS_INPUT_PROC(dev,xkbPrivPtr);
+ dev->public.processInputProc(xE,dev,count);
+ COND_WRAP_PROCESS_INPUT_PROC(dev, xkbPrivPtr,
+ ProcessPointerEvent,xkbUnwrapProc);
}
- else CoreProcessPointerEvent(xE,dev,count);
}
else if (keyEvent)
FixKeyState(xE,dev);
diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c
index 064311d5e..6ed146494 100644
--- a/xkb/xkbInit.c
+++ b/xkb/xkbInit.c
@@ -24,7 +24,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
THE USE OR PERFORMANCE OF THIS SOFTWARE.
********************************************************/
-/* $XFree86: xc/programs/Xserver/xkb/xkbInit.c,v 3.32 2003/11/17 22:20:46 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/xkb/xkbInit.c,v 3.33 2003/12/22 17:48:12 tsi Exp $ */
#include <stdio.h>
#include <stdlib.h>
@@ -716,7 +716,7 @@ XkbRF_VarDefsRec defs;
if (ok && (finfo.xkb!=NULL)) {
XkbDescPtr xkb;
- int minKC,maxKC;
+ KeyCode minKC,maxKC;
xkb= finfo.xkb;
minKC= xkb->min_key_code;