Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework

This commit is contained in:
Ian Romanick 2006-08-10 10:20:37 -07:00
commit 1a5561c4ec
13 changed files with 69 additions and 56 deletions

View File

@ -137,19 +137,13 @@ static const char CREATE_NEW_SCREEN_FUNC[] =
static void static void
__glXDRIleaveServer(void) __glXDRIleaveServer(void)
{ {
int i; DRIBlockHandler(NULL, NULL, NULL);
for (i = 0; i < screenInfo.numScreens; i++)
DRIDoBlockHandler(i, NULL, NULL, NULL);
} }
static void static void
__glXDRIenterServer(void) __glXDRIenterServer(void)
{ {
int i; DRIWakeupHandler(NULL, 0, NULL);
for (i = 0; i < screenInfo.numScreens; i++)
DRIDoWakeupHandler(i, NULL, 0, NULL);
} }
static void static void

View File

@ -42,8 +42,6 @@ in this Software without prior written authorization from The Open Group.
#include <X11/extensions/mitmiscstr.h> #include <X11/extensions/mitmiscstr.h>
#include "modinit.h" #include "modinit.h"
extern Bool permitOldBugs;
#if 0 #if 0
static unsigned char MITReqCode; static unsigned char MITReqCode;
#endif #endif
@ -90,12 +88,8 @@ ProcMITSetBugMode(client)
REQUEST(xMITSetBugModeReq); REQUEST(xMITSetBugModeReq);
REQUEST_SIZE_MATCH(xMITSetBugModeReq); REQUEST_SIZE_MATCH(xMITSetBugModeReq);
if ((stuff->onOff != xTrue) && (stuff->onOff != xFalse)) if (stuff->onOff != xFalse)
{ return BadRequest;
client->errorValue = stuff->onOff;
return BadValue;
}
permitOldBugs = stuff->onOff;
return(client->noClientException); return(client->noClientException);
} }
@ -110,7 +104,7 @@ ProcMITGetBugMode(client)
rep.type = X_Reply; rep.type = X_Reply;
rep.length = 0; rep.length = 0;
rep.sequenceNumber = client->sequence; rep.sequenceNumber = client->sequence;
rep.onOff = permitOldBugs; rep.onOff = FALSE;
if (client->swapped) { if (client->swapped) {
swaps(&rep.sequenceNumber, n); swaps(&rep.sequenceNumber, n);
swapl(&rep.length, n); swapl(&rep.length, n);

View File

@ -60,6 +60,8 @@ compCloseScreen (int index, ScreenPtr pScreen)
CompScreenPtr cs = GetCompScreen (pScreen); CompScreenPtr cs = GetCompScreen (pScreen);
Bool ret; Bool ret;
xfree (cs->alternateVisuals);
pScreen->CloseScreen = cs->CloseScreen; pScreen->CloseScreen = cs->CloseScreen;
pScreen->BlockHandler = cs->BlockHandler; pScreen->BlockHandler = cs->BlockHandler;
pScreen->InstallColormap = cs->InstallColormap; pScreen->InstallColormap = cs->InstallColormap;
@ -100,7 +102,7 @@ compInstallColormap (ColormapPtr pColormap)
CompScreenPtr cs = GetCompScreen (pScreen); CompScreenPtr cs = GetCompScreen (pScreen);
int a; int a;
for (a = 0; a < NUM_COMP_ALTERNATE_VISUALS; a++) for (a = 0; a < cs->numAlternateVisuals; a++)
if (pVisual->vid == cs->alternateVisuals[a]) if (pVisual->vid == cs->alternateVisuals[a])
return; return;
pScreen->InstallColormap = cs->InstallColormap; pScreen->InstallColormap = cs->InstallColormap;
@ -170,6 +172,41 @@ compFindVisuallessDepth (ScreenPtr pScreen, int d)
return 0; return 0;
} }
/*
* Add a list of visual IDs to the list of visuals to implicitly redirect.
*/
static Bool
compRegisterAlternateVisuals (CompScreenPtr cs, VisualID *vids, int nVisuals)
{
VisualID *p;
p = xrealloc(cs->alternateVisuals,
sizeof(VisualID) * (cs->numAlternateVisuals + nVisuals));
if(p == NULL)
return FALSE;
memcpy(&p[cs->numAlternateVisuals], vids, sizeof(VisualID) * nVisuals);
cs->alternateVisuals = p;
cs->numAlternateVisuals += nVisuals;
return TRUE;
}
_X_EXPORT
Bool CompositeRegisterAlternateVisuals (ScreenPtr pScreen, VisualID *vids,
int nVisuals)
{
CompScreenPtr cs = GetCompScreen (pScreen);
return compRegisterAlternateVisuals(cs, vids, nVisuals);
}
#if COMP_INCLUDE_RGB24_VISUAL
#define NUM_COMP_ALTERNATE_VISUALS 2
#else
#define NUM_COMP_ALTERNATE_VISUALS 1
#endif
typedef struct _alternateVisual { typedef struct _alternateVisual {
int depth; int depth;
CARD32 format; CARD32 format;
@ -197,8 +234,6 @@ compAddAlternateVisuals (ScreenPtr pScreen, CompScreenPtr cs)
int numAlternate = 0; int numAlternate = 0;
int alt; int alt;
memset (cs->alternateVisuals, '\0', sizeof (cs->alternateVisuals));
for (alt = 0; alt < NUM_COMP_ALTERNATE_VISUALS; alt++) for (alt = 0; alt < NUM_COMP_ALTERNATE_VISUALS; alt++)
{ {
DepthPtr depth; DepthPtr depth;
@ -321,7 +356,7 @@ compAddAlternateVisuals (ScreenPtr pScreen, CompScreenPtr cs)
/* /*
* remember the visual ID to detect auto-update windows * remember the visual ID to detect auto-update windows
*/ */
cs->alternateVisuals[alt] = visual->vid; compRegisterAlternateVisuals(cs, &visual->vid, 1);
/* /*
* Fix up the depth * Fix up the depth
@ -367,6 +402,9 @@ compScreenInit (ScreenPtr pScreen)
cs->pOverlayWin = NULL; cs->pOverlayWin = NULL;
cs->pOverlayClients = NULL; cs->pOverlayClients = NULL;
cs->numAlternateVisuals = 0;
cs->alternateVisuals = NULL;
if (!compAddAlternateVisuals (pScreen, cs)) if (!compAddAlternateVisuals (pScreen, cs))
{ {
xfree (cs); xfree (cs);

View File

@ -109,12 +109,6 @@ typedef struct _CompSubwindows {
#define COMP_INCLUDE_RGB24_VISUAL 0 #define COMP_INCLUDE_RGB24_VISUAL 0
#endif #endif
#if COMP_INCLUDE_RGB24_VISUAL
#define NUM_COMP_ALTERNATE_VISUALS 2
#else
#define NUM_COMP_ALTERNATE_VISUALS 1
#endif
typedef struct _CompOverlayClientRec *CompOverlayClientPtr; typedef struct _CompOverlayClientRec *CompOverlayClientPtr;
typedef struct _CompOverlayClientRec { typedef struct _CompOverlayClientRec {
@ -154,7 +148,8 @@ typedef struct _CompScreen {
ScreenBlockHandlerProcPtr BlockHandler; ScreenBlockHandlerProcPtr BlockHandler;
CloseScreenProcPtr CloseScreen; CloseScreenProcPtr CloseScreen;
Bool damaged; Bool damaged;
XID alternateVisuals[NUM_COMP_ALTERNATE_VISUALS]; int numAlternateVisuals;
VisualID *alternateVisuals;
WindowPtr pOverlayWin; WindowPtr pOverlayWin;
CompOverlayClientPtr pOverlayClients; CompOverlayClientPtr pOverlayClients;
@ -224,6 +219,10 @@ CompositeExtensionInit (void);
* compinit.c * compinit.c
*/ */
Bool
CompositeRegisterAlternateVisuals (ScreenPtr pScreen,
VisualID *vids, int nVisuals);
Bool Bool
compScreenInit (ScreenPtr pScreen); compScreenInit (ScreenPtr pScreen);

View File

@ -301,7 +301,7 @@ compIsAlternateVisual (ScreenPtr pScreen,
CompScreenPtr cs = GetCompScreen (pScreen); CompScreenPtr cs = GetCompScreen (pScreen);
int i; int i;
for (i = 0; i < NUM_COMP_ALTERNATE_VISUALS; i++) for (i = 0; i < cs->numAlternateVisuals; i++)
if (cs->alternateVisuals[i] == visual) if (cs->alternateVisuals[i] == visual)
return TRUE; return TRUE;
return FALSE; return FALSE;

View File

@ -3214,7 +3214,7 @@ EventSuppressForWindow(register WindowPtr pWin, register ClientPtr client,
{ {
register int i, free; register int i, free;
if ((mask & ~PropagateMask) && !permitOldBugs) if (mask & ~PropagateMask)
{ {
client->errorValue = mask; client->errorValue = mask;
return BadValue; return BadValue;
@ -3765,7 +3765,7 @@ ProcGrabPointer(ClientPtr client)
client->errorValue = stuff->ownerEvents; client->errorValue = stuff->ownerEvents;
return BadValue; return BadValue;
} }
if ((stuff->eventMask & ~PointerGrabMask) && !permitOldBugs) if (stuff->eventMask & ~PointerGrabMask)
{ {
client->errorValue = stuff->eventMask; client->errorValue = stuff->eventMask;
return BadValue; return BadValue;
@ -3851,7 +3851,7 @@ ProcChangeActivePointerGrab(ClientPtr client)
TimeStamp time; TimeStamp time;
REQUEST_SIZE_MATCH(xChangeActivePointerGrabReq); REQUEST_SIZE_MATCH(xChangeActivePointerGrabReq);
if ((stuff->eventMask & ~PointerGrabMask) && !permitOldBugs) if (stuff->eventMask & ~PointerGrabMask)
{ {
client->errorValue = stuff->eventMask; client->errorValue = stuff->eventMask;
return BadValue; return BadValue;
@ -4152,13 +4152,12 @@ ProcSendEvent(ClientPtr client)
if (stuff->event.u.u.type == ClientMessage && if (stuff->event.u.u.type == ClientMessage &&
stuff->event.u.u.detail != 8 && stuff->event.u.u.detail != 8 &&
stuff->event.u.u.detail != 16 && stuff->event.u.u.detail != 16 &&
stuff->event.u.u.detail != 32 && stuff->event.u.u.detail != 32)
!permitOldBugs)
{ {
client->errorValue = stuff->event.u.u.detail; client->errorValue = stuff->event.u.u.detail;
return BadValue; return BadValue;
} }
if ((stuff->eventMask & ~AllEventMasks) && !permitOldBugs) if (stuff->eventMask & ~AllEventMasks)
{ {
client->errorValue = stuff->eventMask; client->errorValue = stuff->eventMask;
return BadValue; return BadValue;
@ -4375,12 +4374,10 @@ ProcGrabButton(ClientPtr client)
grab = CreateGrab(client->index, inputInfo.pointer, pWin, grab = CreateGrab(client->index, inputInfo.pointer, pWin,
permitOldBugs ? (Mask)(stuff->eventMask | (Mask)stuff->eventMask, (Bool)stuff->ownerEvents,
ButtonPressMask | ButtonReleaseMask) : (Bool) stuff->keyboardMode, (Bool)stuff->pointerMode,
(Mask)stuff->eventMask, inputInfo.keyboard, stuff->modifiers, ButtonPress,
(Bool)stuff->ownerEvents, (Bool) stuff->keyboardMode, stuff->button, confineTo, cursor);
(Bool)stuff->pointerMode, inputInfo.keyboard, stuff->modifiers,
ButtonPress, stuff->button, confineTo, cursor);
if (!grab) if (!grab)
return BadAlloc; return BadAlloc;
return AddPassiveGrabToList(grab); return AddPassiveGrabToList(grab);

View File

@ -148,12 +148,6 @@ ClientPtr requestingClient; /* XXX this should be obsolete now, remove? */
_X_EXPORT TimeStamp currentTime; _X_EXPORT TimeStamp currentTime;
_X_EXPORT TimeStamp lastDeviceEventTime; _X_EXPORT TimeStamp lastDeviceEventTime;
/*
* turn off some error checking, to permit old broken clients (like R2/R3
* xterms) to work
*/
_X_EXPORT Bool permitOldBugs = FALSE;
_X_EXPORT int defaultColorVisualClass = -1; _X_EXPORT int defaultColorVisualClass = -1;
_X_EXPORT int monitorResolution = 0; _X_EXPORT int monitorResolution = 0;

View File

@ -2093,7 +2093,7 @@ WhereDoIGoInTheStack(
else else
return NullWindow; return NullWindow;
case TopIf: case TopIf:
if ((!pWin->mapped || (pSib && !pSib->mapped)) && !permitOldBugs) if ((!pWin->mapped || (pSib && !pSib->mapped)))
return(pWin->nextSib); return(pWin->nextSib);
else if (pSib) else if (pSib)
{ {
@ -2108,7 +2108,7 @@ WhereDoIGoInTheStack(
else else
return(pWin->nextSib); return(pWin->nextSib);
case BottomIf: case BottomIf:
if ((!pWin->mapped || (pSib && !pSib->mapped)) && !permitOldBugs) if ((!pWin->mapped || (pSib && !pSib->mapped)))
return(pWin->nextSib); return(pWin->nextSib);
else if (pSib) else if (pSib)
{ {
@ -2123,7 +2123,7 @@ WhereDoIGoInTheStack(
else else
return(pWin->nextSib); return(pWin->nextSib);
case Opposite: case Opposite:
if ((!pWin->mapped || (pSib && !pSib->mapped)) && !permitOldBugs) if ((!pWin->mapped || (pSib && !pSib->mapped)))
return(pWin->nextSib); return(pWin->nextSib);
else if (pSib) else if (pSib)
{ {

View File

@ -71,7 +71,6 @@
#define BUILTIN_MONITOR_SECTION \ #define BUILTIN_MONITOR_SECTION \
"Section \"Monitor\"\n" \ "Section \"Monitor\"\n" \
"\tIdentifier\t" BUILTIN_MONITOR_NAME "\n" \ "\tIdentifier\t" BUILTIN_MONITOR_NAME "\n" \
"\tOption\t\"TargetRefresh\"\t\"75.0\"\n" \
"EndSection\n\n" "EndSection\n\n"
#define BUILTIN_SCREEN_NAME \ #define BUILTIN_SCREEN_NAME \

View File

@ -602,6 +602,9 @@ the keymap for a mapping to the
.B Terminate .B Terminate
action and, if found, use XKEYBOARD for processing actions, otherwise action and, if found, use XKEYBOARD for processing actions, otherwise
the builtin handler will be used. the builtin handler will be used.
.TP 7
.BI "Option \*qAIGLX\*q \*q" boolean \*q
enable or disable AIGLX. AIGLX is enabled by default.
.SH MODULE SECTION .SH MODULE SECTION
The The
.B Module .B Module

View File

@ -244,7 +244,6 @@ _X_HIDDEN void *dixLookupTab[] = {
SYMVAR(globalSerialNumber) SYMVAR(globalSerialNumber)
SYMVAR(lastDeviceEventTime) SYMVAR(lastDeviceEventTime)
SYMVAR(monitorResolution) SYMVAR(monitorResolution)
SYMVAR(permitOldBugs)
SYMVAR(screenInfo) SYMVAR(screenInfo)
SYMVAR(serverClient) SYMVAR(serverClient)
SYMVAR(serverGeneration) SYMVAR(serverGeneration)

View File

@ -70,7 +70,6 @@ extern int limitStackSpace;
#ifdef RLIMIT_NOFILE #ifdef RLIMIT_NOFILE
extern int limitNoFile; extern int limitNoFile;
#endif #endif
extern Bool permitOldBugs;
extern Bool defeatAccessControl; extern Bool defeatAccessControl;
extern long maxBigRequestSize; extern long maxBigRequestSize;
extern Bool blackRoot; extern Bool blackRoot;

View File

@ -580,7 +580,6 @@ void UseMsg(void)
#endif #endif
ErrorF("-audit int set audit trail level\n"); ErrorF("-audit int set audit trail level\n");
ErrorF("-auth file select authorization file\n"); ErrorF("-auth file select authorization file\n");
ErrorF("bc enable bug compatibility\n");
ErrorF("-br create root window with black background\n"); ErrorF("-br create root window with black background\n");
ErrorF("+bs enable any backing store support\n"); ErrorF("+bs enable any backing store support\n");
ErrorF("-bs disable any backing store support\n"); ErrorF("-bs disable any backing store support\n");
@ -768,8 +767,6 @@ ProcessCommandLine(int argc, char *argv[])
else else
UseMsg(); UseMsg();
} }
else if ( strcmp( argv[i], "bc") == 0)
permitOldBugs = TRUE;
else if ( strcmp( argv[i], "-br") == 0) else if ( strcmp( argv[i], "-br") == 0)
blackRoot = TRUE; blackRoot = TRUE;
else if ( strcmp( argv[i], "+bs") == 0) else if ( strcmp( argv[i], "+bs") == 0)