diff --git a/Xext/dpms.c b/Xext/dpms.c index 1afbdfc752..6b16459530 100644 --- a/Xext/dpms.c +++ b/Xext/dpms.c @@ -232,13 +232,17 @@ DPMSSupported(void) int i; /* For each screen, check if DPMS is supported */ - for (i = 0; i < screenInfo.numScreens; i++) - if (screenInfo.screens[i]->DPMS != NULL) + for (i = 0; i < screenInfo.numScreens; i++) { + ScreenPtr walkScreen = screenInfo.screens[i]; + if (walkScreen->DPMS != NULL) return TRUE; + } - for (i = 0; i < screenInfo.numGPUScreens; i++) - if (screenInfo.gpuscreens[i]->DPMS != NULL) + for (i = 0; i < screenInfo.numGPUScreens; i++) { + ScreenPtr walkScreen = screenInfo.gpuscreens[i]; + if (walkScreen->DPMS != NULL) return TRUE; + } return FALSE; } @@ -278,13 +282,17 @@ DPMSSet(ClientPtr client, int level) return rc; } - for (i = 0; i < screenInfo.numScreens; i++) - if (screenInfo.screens[i]->DPMS != NULL) - screenInfo.screens[i]->DPMS(screenInfo.screens[i], level); + for (i = 0; i < screenInfo.numScreens; i++) { + ScreenPtr walkScreen = screenInfo.screens[i]; + if (walkScreen->DPMS != NULL) + walkScreen->DPMS(walkScreen, level); + } - for (i = 0; i < screenInfo.numGPUScreens; i++) - if (screenInfo.gpuscreens[i]->DPMS != NULL) - screenInfo.gpuscreens[i]->DPMS(screenInfo.gpuscreens[i], level); + for (i = 0; i < screenInfo.numGPUScreens; i++) { + ScreenPtr walkScreen = screenInfo.gpuscreens[i]; + if (walkScreen->DPMS != NULL) + walkScreen->DPMS(walkScreen, level); + } if (DPMSPowerLevel != old_level) SendDPMSInfoNotify(); diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c index d38924362c..7e2015d87c 100644 --- a/Xext/panoramiX.c +++ b/Xext/panoramiX.c @@ -390,12 +390,12 @@ XineramaInitData(void) BoxRec TheBox; RegionRec ScreenRegion; - ScreenPtr pScreen = screenInfo.screens[i]; + ScreenPtr walkScreen = screenInfo.screens[i]; - TheBox.x1 = pScreen->x; - TheBox.x2 = TheBox.x1 + pScreen->width; - TheBox.y1 = pScreen->y; - TheBox.y2 = TheBox.y1 + pScreen->height; + TheBox.x1 = walkScreen->x; + TheBox.x2 = TheBox.x1 + walkScreen->width; + TheBox.y1 = walkScreen->y; + TheBox.y2 = TheBox.y1 + walkScreen->height; RegionInit(&ScreenRegion, &TheBox, 1); RegionUnion(&PanoramiXScreenRegion, &PanoramiXScreenRegion, @@ -408,12 +408,12 @@ XineramaInitData(void) screenInfo.screens[0]->y + screenInfo.screens[0]->height; FOR_NSCREENS_FORWARD(i) { + ScreenPtr walkScreen = screenInfo.screens[i]; if (!i) continue; /* skip screen #0 */ - ScreenPtr pScreen = screenInfo.screens[i]; - w = pScreen->x + pScreen->width; - h = pScreen->y + pScreen->height; + w = walkScreen->x + walkScreen->width; + h = walkScreen->y + walkScreen->height; if (PanoramiXPixWidth < w) PanoramiXPixWidth = w; @@ -471,19 +471,19 @@ PanoramiXExtensionInit(void) */ FOR_NSCREENS_BACKWARD(i) { - pScreen = screenInfo.screens[i]; + ScreenPtr walkScreen = screenInfo.screens[i]; PanoramiXScreenPtr pScreenPriv = calloc(1, sizeof(PanoramiXScreenRec)); - dixSetPrivate(&pScreen->devPrivates, PanoramiXScreenKey, + dixSetPrivate(&walkScreen->devPrivates, PanoramiXScreenKey, pScreenPriv); if (!pScreenPriv) { noPanoramiXExtension = TRUE; return; } - dixScreenHookClose(pScreen, XineramaCloseScreen); + dixScreenHookClose(walkScreen, XineramaCloseScreen); pScreenPriv->CreateGC = pScreen->CreateGC; - pScreen->CreateGC = XineramaCreateGC; + walkScreen->CreateGC = XineramaCreateGC; } XRC_DRAWABLE = CreateNewResourceClass(); @@ -593,7 +593,6 @@ PanoramiXCreateConnectionBlock(void) xVisualType *visual; xDepth *depth; VisualPtr pVisual; - ScreenPtr pScreen; /* * Do normal CreateConnectionBlock but faking it for only one screen @@ -605,20 +604,20 @@ PanoramiXCreateConnectionBlock(void) } for (i = 1; i < screenInfo.numScreens; i++) { - pScreen = screenInfo.screens[i]; - if (pScreen->rootDepth != screenInfo.screens[0]->rootDepth) { + ScreenPtr walkScreen = screenInfo.screens[i]; + if (walkScreen->rootDepth != screenInfo.screens[0]->rootDepth) { ErrorF("Xinerama error: Root window depths differ\n"); return FALSE; } - if (pScreen->backingStoreSupport != + if (walkScreen->backingStoreSupport != screenInfo.screens[0]->backingStoreSupport) disable_backing_store = TRUE; } if (disable_backing_store) { for (i = 0; i < screenInfo.numScreens; i++) { - pScreen = screenInfo.screens[i]; - pScreen->backingStoreSupport = NotUseful; + ScreenPtr walkScreen = screenInfo.screens[i]; + walkScreen->backingStoreSupport = NotUseful; } } @@ -720,16 +719,15 @@ VisualsEqual(VisualPtr a, ScreenPtr pScreenB, VisualPtr b) static void PanoramiXMaybeAddDepth(DepthPtr pDepth) { - ScreenPtr pScreen; int j, k; Bool found = FALSE; FOR_NSCREENS_FORWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; if (!j) continue; /* skip screen #0 */ - pScreen = screenInfo.screens[j]; - for (k = 0; k < pScreen->numDepths; k++) { - if (pScreen->allowedDepths[k].depth == pDepth->depth) { + for (k = 0; k < walkScreen->numDepths; k++) { + if (walkScreen->allowedDepths[k].depth == pDepth->depth) { found = TRUE; break; } @@ -751,20 +749,19 @@ PanoramiXMaybeAddDepth(DepthPtr pDepth) static void PanoramiXMaybeAddVisual(VisualPtr pVisual) { - ScreenPtr pScreen; int j, k; Bool found = FALSE; FOR_NSCREENS_FORWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; if (!j) continue; /* skip screen #0 */ - pScreen = screenInfo.screens[j]; found = FALSE; - for (k = 0; k < pScreen->numVisuals; k++) { - VisualPtr candidate = &pScreen->visuals[k]; + for (k = 0; k < walkScreen->numVisuals; k++) { + VisualPtr candidate = &walkScreen->visuals[k]; - if ((*XineramaVisualsEqualPtr) (pVisual, pScreen, candidate) + if ((*XineramaVisualsEqualPtr) (pVisual, walkScreen, candidate) #ifdef GLXPROXY && glxMatchVisual(screenInfo.screens[0], pVisual, pScreen) #endif @@ -835,15 +832,15 @@ PanoramiXConsolidate(void) saver->type = XRT_WINDOW; FOR_NSCREENS_BACKWARD(i) { - ScreenPtr scr = screenInfo.screens[i]; + ScreenPtr walkScreen = screenInfo.screens[i]; - root->info[i].id = scr->root->drawable.id; + root->info[i].id = walkScreen->root->drawable.id; root->u.win.class = InputOutput; root->u.win.root = TRUE; - saver->info[i].id = scr->screensaver.wid; + saver->info[i].id = walkScreen->screensaver.wid; saver->u.win.class = InputOutput; saver->u.win.root = TRUE; - defmap->info[i].id = scr->defColormap; + defmap->info[i].id = walkScreen->defColormap; } AddResource(root->info[0].id, XRT_WINDOW, root); @@ -1068,11 +1065,12 @@ ProcXineramaQueryScreens(ClientPtr client) if (!noPanoramiXExtension) { int i; FOR_NSCREENS_BACKWARD(i) { + ScreenPtr walkScreen = screenInfo.screens[i]; xXineramaScreenInfo scratch = { - .x_org = screenInfo.screens[i]->x, - .y_org = screenInfo.screens[i]->y, - .width = screenInfo.screens[i]->width, - .height = screenInfo.screens[i]->height, + .x_org = walkScreen->x, + .y_org = walkScreen->y, + .width = walkScreen->width, + .height = walkScreen->height, }; /* scratch consists of 4x CARD16 */ if (!x_rpcbuf_write_CARD16s(&rpcbuf, (CARD16*)&scratch, 4)) diff --git a/Xext/panoramiXprocs.c b/Xext/panoramiXprocs.c index 004da71bf5..64447409f1 100644 --- a/Xext/panoramiXprocs.c +++ b/Xext/panoramiXprocs.c @@ -134,11 +134,12 @@ PanoramiXCreateWindow(ClientPtr client) parentIsRoot = (stuff->parent == screenInfo.screens[0]->root->drawable.id) || (stuff->parent == screenInfo.screens[0]->screensaver.wid); FOR_NSCREENS_BACKWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; stuff->wid = newWin->info[j].id; stuff->parent = parent->info[j].id; if (parentIsRoot) { - stuff->x = orig_x - screenInfo.screens[j]->x; - stuff->y = orig_y - screenInfo.screens[j]->y; + stuff->x = orig_x - walkScreen->x; + stuff->y = orig_y - walkScreen->y; } if (backPix) *((CARD32 *) &stuff[1] + pback_offset) = backPix->info[j].id; @@ -343,11 +344,12 @@ PanoramiXReparentWindow(ClientPtr client) parentIsRoot = (stuff->parent == screenInfo.screens[0]->root->drawable.id) || (stuff->parent == screenInfo.screens[0]->screensaver.wid); FOR_NSCREENS_BACKWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; stuff->window = win->info[j].id; stuff->parent = parent->info[j].id; if (parentIsRoot) { - stuff->x = x - screenInfo.screens[j]->x; - stuff->y = y - screenInfo.screens[j]->y; + stuff->x = x - walkScreen->x; + stuff->y = y - walkScreen->y; } result = (*SavedProcVector[X_ReparentWindow]) (client); if (result != Success) @@ -514,13 +516,14 @@ PanoramiXConfigureWindow(ClientPtr client) /* have to go forward or you get expose events before ConfigureNotify events */ FOR_NSCREENS_FORWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; stuff->window = win->info[j].id; if (sib) *((CARD32 *) &stuff[1] + sib_offset) = sib->info[j].id; if (x_offset >= 0) - *((CARD32 *) &stuff[1] + x_offset) = x - screenInfo.screens[j]->x; + *((CARD32 *) &stuff[1] + x_offset) = x - walkScreen->x; if (y_offset >= 0) - *((CARD32 *) &stuff[1] + y_offset) = y - screenInfo.screens[j]->y; + *((CARD32 *) &stuff[1] + y_offset) = y - walkScreen->y; result = (*SavedProcVector[X_ConfigureWindow]) (client); if (result != Success) break; @@ -1045,10 +1048,11 @@ PanoramiXClearToBackground(ClientPtr client) y = stuff->y; isRoot = win->u.win.root; FOR_NSCREENS_BACKWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; stuff->window = win->info[j].id; if (isRoot) { - stuff->x = x - screenInfo.screens[j]->x; - stuff->y = y - screenInfo.screens[j]->y; + stuff->x = x - walkScreen->x; + stuff->y = y - walkScreen->y; } result = (*SavedProcVector[X_ClearArea]) (client); if (result != Success) @@ -1176,7 +1180,7 @@ PanoramiXCopyArea(ClientPtr client) /* subtract the (screen-space) clips of the source drawables */ FOR_NSCREENS_BACKWARD(j) { - ScreenPtr screen = screenInfo.screens[j]; + ScreenPtr walkScreen = screenInfo.screens[j]; RegionPtr sd; if (pGC->subWindowMode == IncludeInferiors) @@ -1185,12 +1189,12 @@ PanoramiXCopyArea(ClientPtr client) sd = &((WindowPtr)drawables[j])->clipList; if (srcIsRoot) - RegionTranslate(&rgn, -screen->x, -screen->y); + RegionTranslate(&rgn, -walkScreen->x, -walkScreen->y); RegionSubtract(&rgn, &rgn, sd); if (srcIsRoot) - RegionTranslate(&rgn, screen->x, screen->y); + RegionTranslate(&rgn, walkScreen->x, walkScreen->y); if (pGC->subWindowMode == IncludeInferiors) RegionDestroy(sd); @@ -1215,18 +1219,19 @@ PanoramiXCopyArea(ClientPtr client) RegionNull(&totalReg); FOR_NSCREENS_BACKWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; RegionPtr pRgn; stuff->dstDrawable = dst->info[j].id; stuff->srcDrawable = src->info[j].id; stuff->gc = gc->info[j].id; if (srcIsRoot) { - stuff->srcX = srcx - screenInfo.screens[j]->x; - stuff->srcY = srcy - screenInfo.screens[j]->y; + stuff->srcX = srcx - walkScreen->x; + stuff->srcY = srcy - walkScreen->y; } if (dstIsRoot) { - stuff->dstX = dstx - screenInfo.screens[j]->x; - stuff->dstY = dsty - screenInfo.screens[j]->y; + stuff->dstX = dstx - walkScreen->x; + stuff->dstY = dsty - walkScreen->y; } VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pDst, DixWriteAccess); @@ -1252,9 +1257,7 @@ PanoramiXCopyArea(ClientPtr client) stuff->dstX, stuff->dstY); if (pGC->graphicsExposures && pRgn) { if (srcIsRoot) { - RegionTranslate(pRgn, - screenInfo.screens[j]->x, - screenInfo.screens[j]->y); + RegionTranslate(pRgn, walkScreen->x, walkScreen->y); } RegionAppend(&totalReg, pRgn); RegionDestroy(pRgn); @@ -1327,18 +1330,19 @@ PanoramiXCopyPlane(ClientPtr client) RegionNull(&totalReg); FOR_NSCREENS_BACKWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; RegionPtr pRgn; stuff->dstDrawable = dst->info[j].id; stuff->srcDrawable = src->info[j].id; stuff->gc = gc->info[j].id; if (srcIsRoot) { - stuff->srcX = srcx - screenInfo.screens[j]->x; - stuff->srcY = srcy - screenInfo.screens[j]->y; + stuff->srcX = srcx - walkScreen->x; + stuff->srcY = srcy - walkScreen->y; } if (dstIsRoot) { - stuff->dstX = dstx - screenInfo.screens[j]->x; - stuff->dstY = dsty - screenInfo.screens[j]->y; + stuff->dstX = dstx - walkScreen->x; + stuff->dstY = dsty - walkScreen->y; } VALIDATE_DRAWABLE_AND_GC(stuff->dstDrawable, pdstDraw, DixWriteAccess); @@ -1421,13 +1425,14 @@ PanoramiXPolyPoint(ClientPtr client) memcpy((char *) origPts, (char *) &stuff[1], npoint * sizeof(xPoint)); FOR_NSCREENS_FORWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; if (j) memcpy(&stuff[1], origPts, npoint * sizeof(xPoint)); if (isRoot) { - int x_off = screenInfo.screens[j]->x; - int y_off = screenInfo.screens[j]->y; + int x_off = walkScreen->x; + int y_off = walkScreen->y; if (x_off || y_off) { xPoint *pnts = (xPoint *) &stuff[1]; @@ -1487,13 +1492,14 @@ PanoramiXPolyLine(ClientPtr client) return BadAlloc; memcpy((char *) origPts, (char *) &stuff[1], npoint * sizeof(xPoint)); FOR_NSCREENS_FORWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; if (j) memcpy(&stuff[1], origPts, npoint * sizeof(xPoint)); if (isRoot) { - int x_off = screenInfo.screens[j]->x; - int y_off = screenInfo.screens[j]->y; + int x_off = walkScreen->x; + int y_off = walkScreen->y; if (x_off || y_off) { xPoint *pnts = (xPoint *) &stuff[1]; @@ -1557,13 +1563,14 @@ PanoramiXPolySegment(ClientPtr client) return BadAlloc; memcpy((char *) origSegs, (char *) &stuff[1], nsegs * sizeof(xSegment)); FOR_NSCREENS_FORWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; if (j) memcpy(&stuff[1], origSegs, nsegs * sizeof(xSegment)); if (isRoot) { - int x_off = screenInfo.screens[j]->x; - int y_off = screenInfo.screens[j]->y; + int x_off = walkScreen->x; + int y_off = walkScreen->y; if (x_off || y_off) { xSegment *segs = (xSegment *) &stuff[1]; @@ -1627,13 +1634,14 @@ PanoramiXPolyRectangle(ClientPtr client) memcpy((char *) origRecs, (char *) &stuff[1], nrects * sizeof(xRectangle)); FOR_NSCREENS_FORWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; if (j) memcpy(&stuff[1], origRecs, nrects * sizeof(xRectangle)); if (isRoot) { - int x_off = screenInfo.screens[j]->x; - int y_off = screenInfo.screens[j]->y; + int x_off = walkScreen->x; + int y_off = walkScreen->y; if (x_off || y_off) { xRectangle *rects = (xRectangle *) &stuff[1]; @@ -1694,13 +1702,14 @@ PanoramiXPolyArc(ClientPtr client) return BadAlloc; memcpy((char *) origArcs, (char *) &stuff[1], narcs * sizeof(xArc)); FOR_NSCREENS_FORWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; if (j) memcpy(&stuff[1], origArcs, narcs * sizeof(xArc)); if (isRoot) { - int x_off = screenInfo.screens[j]->x; - int y_off = screenInfo.screens[j]->y; + int x_off = walkScreen->x; + int y_off = walkScreen->y; if (x_off || y_off) { xArc *arcs = (xArc *) &stuff[1]; @@ -1758,13 +1767,14 @@ PanoramiXFillPoly(ClientPtr client) memcpy((char *) locPts, (char *) &stuff[1], count * sizeof(DDXPointRec)); FOR_NSCREENS_FORWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; if (j) memcpy(&stuff[1], locPts, count * sizeof(DDXPointRec)); if (isRoot) { - int x_off = screenInfo.screens[j]->x; - int y_off = screenInfo.screens[j]->y; + int x_off = walkScreen->x; + int y_off = walkScreen->y; if (x_off || y_off) { DDXPointPtr pnts = (DDXPointPtr) &stuff[1]; @@ -1827,13 +1837,14 @@ PanoramiXPolyFillRectangle(ClientPtr client) memcpy((char *) origRects, (char *) &stuff[1], things * sizeof(xRectangle)); FOR_NSCREENS_FORWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; if (j) memcpy(&stuff[1], origRects, things * sizeof(xRectangle)); if (isRoot) { - int x_off = screenInfo.screens[j]->x; - int y_off = screenInfo.screens[j]->y; + int x_off = walkScreen->x; + int y_off = walkScreen->y; if (x_off || y_off) { xRectangle *rects = (xRectangle *) &stuff[1]; @@ -1894,13 +1905,14 @@ PanoramiXPolyFillArc(ClientPtr client) return BadAlloc; memcpy((char *) origArcs, (char *) &stuff[1], narcs * sizeof(xArc)); FOR_NSCREENS_FORWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; if (j) memcpy(&stuff[1], origArcs, narcs * sizeof(xArc)); if (isRoot) { - int x_off = screenInfo.screens[j]->x; - int y_off = screenInfo.screens[j]->y; + int x_off = walkScreen->x; + int y_off = walkScreen->y; if (x_off || y_off) { xArc *arcs = (xArc *) &stuff[1]; @@ -1954,9 +1966,10 @@ PanoramiXPutImage(ClientPtr client) orig_x = stuff->dstX; orig_y = stuff->dstY; FOR_NSCREENS_BACKWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; if (isRoot) { - stuff->dstX = orig_x - screenInfo.screens[j]->x; - stuff->dstY = orig_y - screenInfo.screens[j]->y; + stuff->dstX = orig_x - walkScreen->x; + stuff->dstY = orig_y - walkScreen->y; } stuff->drawable = draw->info[j].id; stuff->gc = gc->info[j].id; @@ -2167,11 +2180,13 @@ PanoramiXPolyText8(ClientPtr client) orig_x = stuff->x; orig_y = stuff->y; FOR_NSCREENS_BACKWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; + stuff->drawable = draw->info[j].id; stuff->gc = gc->info[j].id; if (isRoot) { - stuff->x = orig_x - screenInfo.screens[j]->x; - stuff->y = orig_y - screenInfo.screens[j]->y; + stuff->x = orig_x - walkScreen->x; + stuff->y = orig_y - walkScreen->y; } result = (*SavedProcVector[X_PolyText8]) (client); if (result != Success) @@ -2210,11 +2225,13 @@ PanoramiXPolyText16(ClientPtr client) orig_x = stuff->x; orig_y = stuff->y; FOR_NSCREENS_BACKWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; + stuff->drawable = draw->info[j].id; stuff->gc = gc->info[j].id; if (isRoot) { - stuff->x = orig_x - screenInfo.screens[j]->x; - stuff->y = orig_y - screenInfo.screens[j]->y; + stuff->x = orig_x - walkScreen->x; + stuff->y = orig_y - walkScreen->y; } result = (*SavedProcVector[X_PolyText16]) (client); if (result != Success) @@ -2253,11 +2270,13 @@ PanoramiXImageText8(ClientPtr client) orig_x = stuff->x; orig_y = stuff->y; FOR_NSCREENS_BACKWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; + stuff->drawable = draw->info[j].id; stuff->gc = gc->info[j].id; if (isRoot) { - stuff->x = orig_x - screenInfo.screens[j]->x; - stuff->y = orig_y - screenInfo.screens[j]->y; + stuff->x = orig_x - walkScreen->x; + stuff->y = orig_y - walkScreen->y; } result = (*SavedProcVector[X_ImageText8]) (client); if (result != Success) @@ -2296,11 +2315,13 @@ PanoramiXImageText16(ClientPtr client) orig_x = stuff->x; orig_y = stuff->y; FOR_NSCREENS_BACKWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; + stuff->drawable = draw->info[j].id; stuff->gc = gc->info[j].id; if (isRoot) { - stuff->x = orig_x - screenInfo.screens[j]->x; - stuff->y = orig_y - screenInfo.screens[j]->y; + stuff->x = orig_x - walkScreen->x; + stuff->y = orig_y - walkScreen->y; } result = (*SavedProcVector[X_ImageText16]) (client); if (result != Success) diff --git a/Xext/saver.c b/Xext/saver.c index f0441d18fa..5f6f1886d7 100644 --- a/Xext/saver.c +++ b/Xext/saver.c @@ -1335,7 +1335,6 @@ ScreenSaverExtensionInit(void) { ExtensionEntry *extEntry; int i; - ScreenPtr pScreen; if (!dixRegisterPrivateKey(&ScreenPrivateKeyRec, PRIVATE_SCREEN, 0)) return; @@ -1345,8 +1344,8 @@ ScreenSaverExtensionInit(void) SuspendType = CreateNewResourceType(ScreenSaverFreeSuspend, "SaverSuspend"); for (i = 0; i < screenInfo.numScreens; i++) { - pScreen = screenInfo.screens[i]; - SetScreenPrivate(pScreen, NULL); + ScreenPtr walkScreen = screenInfo.screens[i]; + SetScreenPrivate(walkScreen, NULL); } if (AttrType && SaverEventType && SuspendType && (extEntry = AddExtension(ScreenSaverName, ScreenSaverNumberEvents, 0, diff --git a/Xext/shm.c b/Xext/shm.c index 92df1c3cd9..d3b207b25d 100644 --- a/Xext/shm.c +++ b/Xext/shm.c @@ -230,8 +230,10 @@ ShmResetProc(ExtensionEntry * extEntry) { int i; - for (i = 0; i < screenInfo.numScreens; i++) - ShmRegisterFuncs(screenInfo.screens[i], NULL); + for (i = 0; i < screenInfo.numScreens; i++) { + ScreenPtr walkScreen = screenInfo.screens[i]; + ShmRegisterFuncs(walkScreen, NULL); + } } void @@ -744,13 +746,15 @@ ProcShmPutImage(ClientPtr client) sendEvent = stuff->sendEvent; stuff->sendEvent = 0; FOR_NSCREENS_BACKWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; + if (!j) stuff->sendEvent = sendEvent; stuff->drawable = draw->info[j].id; stuff->gc = gc->info[j].id; if (isRoot) { - stuff->dstX = orig_x - screenInfo.screens[j]->x; - stuff->dstY = orig_y - screenInfo.screens[j]->y; + stuff->dstX = orig_x - walkScreen->x; + stuff->dstY = orig_y - walkScreen->y; } result = ShmPutImage(client, stuff); if (result != Success) @@ -926,7 +930,6 @@ ProcShmCreatePixmap(ClientPtr client) if (noPanoramiXExtension) return ShmCreatePixmap(client, stuff); - ScreenPtr pScreen = NULL; PixmapPtr pMap = NULL; DrawablePtr pDraw; DepthPtr pDepth; @@ -988,12 +991,10 @@ ProcShmCreatePixmap(ClientPtr client) result = Success; FOR_NSCREENS_BACKWARD(j) { - ShmScrPrivateRec *screen_priv; + ScreenPtr walkScreen = screenInfo.screens[j]; - pScreen = screenInfo.screens[j]; - - screen_priv = ShmGetScreenPriv(pScreen); - pMap = (*screen_priv->shmFuncs->CreatePixmap) (pScreen, + ShmScrPrivateRec *screen_priv = ShmGetScreenPriv(walkScreen); + pMap = (*screen_priv->shmFuncs->CreatePixmap) (walkScreen, stuff->width, stuff->height, stuff->depth, @@ -1531,8 +1532,9 @@ ShmExtensionInit(void) { sharedPixmaps = xTrue; for (i = 0; i < screenInfo.numScreens; i++) { + ScreenPtr walkScreen = screenInfo.screens[i]; ShmScrPrivateRec *screen_priv = - ShmInitScreenPriv(screenInfo.screens[i]); + ShmInitScreenPriv(walkScreen); if (!screen_priv) continue; if (!screen_priv->shmFuncs) @@ -1541,8 +1543,10 @@ ShmExtensionInit(void) sharedPixmaps = xFalse; } if (sharedPixmaps) - for (i = 0; i < screenInfo.numScreens; i++) - dixScreenHookPixmapDestroy(screenInfo.screens[i], ShmPixmapDestroy); + for (i = 0; i < screenInfo.numScreens; i++) { + ScreenPtr walkScreen = screenInfo.screens[i]; + dixScreenHookPixmapDestroy(walkScreen, ShmPixmapDestroy); + } } ShmSegType = CreateNewResourceType(ShmDetachSegment, "ShmSeg"); if (ShmSegType && diff --git a/Xext/sync.c b/Xext/sync.c index 6acf0ad2e5..04d3138b09 100644 --- a/Xext/sync.c +++ b/Xext/sync.c @@ -2477,8 +2477,10 @@ SyncExtensionInit(void) ExtensionEntry *extEntry; int s; - for (s = 0; s < screenInfo.numScreens; s++) - miSyncSetup(screenInfo.screens[s]); + for (s = 0; s < screenInfo.numScreens; s++) { + ScreenPtr walkScreen = screenInfo.screens[s]; + miSyncSetup(walkScreen); + } RTCounter = CreateNewResourceType(FreeCounter, "SyncCounter"); xorg_list_init(&SysCounterList); diff --git a/Xext/xselinux_hooks.c b/Xext/xselinux_hooks.c index 7b0fc92894..2eda3461cd 100644 --- a/Xext/xselinux_hooks.c +++ b/Xext/xselinux_hooks.c @@ -197,12 +197,14 @@ SELinuxLabelInitial(void) srec.status = Success; for (i = 0; i < screenInfo.numScreens; i++) { + ScreenPtr walkScreen = screenInfo.screens[i]; + /* Do the screen object */ - srec.screen = screenInfo.screens[i]; + srec.screen = walkScreen; SELinuxScreen(NULL, NULL, &srec); /* Do the default colormap */ - dixLookupResourceByType(&unused, screenInfo.screens[i]->defColormap, + dixLookupResourceByType(&unused, walkScreen->defColormap, X11_RESTYPE_COLORMAP, serverClient, DixCreateAccess); } } diff --git a/Xext/xvdisp.c b/Xext/xvdisp.c index f8693fd442..eeb63392ad 100644 --- a/Xext/xvdisp.c +++ b/Xext/xvdisp.c @@ -1379,6 +1379,7 @@ XineramaXvShmPutImage(ClientPtr client) y = stuff->drw_y; FOR_NSCREENS_BACKWARD(i) { + ScreenPtr walkScreen = screenInfo.screens[i]; if (port->info[i].id) { stuff->drawable = draw->info[i].id; stuff->port = port->info[i].id; @@ -1386,8 +1387,8 @@ XineramaXvShmPutImage(ClientPtr client) stuff->drw_x = x; stuff->drw_y = y; if (isRoot) { - stuff->drw_x -= screenInfo.screens[i]->x; - stuff->drw_y -= screenInfo.screens[i]->y; + stuff->drw_x -= walkScreen->x; + stuff->drw_y -= walkScreen->y; } stuff->send_event = (send_event && !i) ? 1 : 0; @@ -1431,6 +1432,7 @@ XineramaXvPutImage(ClientPtr client) y = stuff->drw_y; FOR_NSCREENS_BACKWARD(i) { + ScreenPtr walkScreen = screenInfo.screens[i]; if (port->info[i].id) { stuff->drawable = draw->info[i].id; stuff->port = port->info[i].id; @@ -1438,8 +1440,8 @@ XineramaXvPutImage(ClientPtr client) stuff->drw_x = x; stuff->drw_y = y; if (isRoot) { - stuff->drw_x -= screenInfo.screens[i]->x; - stuff->drw_y -= screenInfo.screens[i]->y; + stuff->drw_x -= walkScreen->x; + stuff->drw_y -= walkScreen->y; } result = SingleXvPutImage(client); @@ -1479,6 +1481,7 @@ XineramaXvPutVideo(ClientPtr client) y = stuff->drw_y; FOR_NSCREENS_BACKWARD(i) { + ScreenPtr walkScreen = screenInfo.screens[i]; if (port->info[i].id) { stuff->drawable = draw->info[i].id; stuff->port = port->info[i].id; @@ -1486,8 +1489,8 @@ XineramaXvPutVideo(ClientPtr client) stuff->drw_x = x; stuff->drw_y = y; if (isRoot) { - stuff->drw_x -= screenInfo.screens[i]->x; - stuff->drw_y -= screenInfo.screens[i]->y; + stuff->drw_x -= walkScreen->x; + stuff->drw_y -= walkScreen->y; } result = SingleXvPutVideo(client); @@ -1527,6 +1530,7 @@ XineramaXvPutStill(ClientPtr client) y = stuff->drw_y; FOR_NSCREENS_BACKWARD(i) { + ScreenPtr walkScreen = screenInfo.screens[i]; if (port->info[i].id) { stuff->drawable = draw->info[i].id; stuff->port = port->info[i].id; @@ -1534,8 +1538,8 @@ XineramaXvPutStill(ClientPtr client) stuff->drw_x = x; stuff->drw_y = y; if (isRoot) { - stuff->drw_x -= screenInfo.screens[i]->x; - stuff->drw_y -= screenInfo.screens[i]->y; + stuff->drw_x -= walkScreen->x; + stuff->drw_y -= walkScreen->y; } result = SingleXvPutStill(client); @@ -1625,10 +1629,11 @@ XineramifyXv(void) MatchingAdaptors[0] = refAdapt; isOverlay = hasOverlay(refAdapt); FOR_NSCREENS_FORWARD(j) { + ScreenPtr walkScreen = screenInfo.screens[j]; if (!j) continue; /* skip screen #0 */ MatchingAdaptors[j] = - matchAdaptor(screenInfo.screens[j], refAdapt, isOverlay); + matchAdaptor(walkScreen, refAdapt, isOverlay); } /* now create a resource for each port */