panoramix: replace FOR_NSCREENS() by FOR_NSCREENS_BACKWARD(i)

FOR_NSCREENS() is just alias for FOR_NSCREENS_BACKWARD(). In many cases
it really matters that we're going backwards and the last iteration visited
the screen #0, and that one is panoramix-wrapped.

Thus directly calling FOR_NSCREENS_BACKWARD() here and dropping the alias.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
Enrico Weigelt, metux IT consult 2025-05-20 13:38:35 +02:00
parent ffa080cdf0
commit 25f50e2cc5
9 changed files with 22 additions and 23 deletions

View File

@ -384,7 +384,7 @@ XineramaInitData(void)
int i, w, h; int i, w, h;
RegionNull(&PanoramiXScreenRegion); RegionNull(&PanoramiXScreenRegion);
FOR_NSCREENS(i) { FOR_NSCREENS_BACKWARD(i) {
BoxRec TheBox; BoxRec TheBox;
RegionRec ScreenRegion; RegionRec ScreenRegion;
@ -474,7 +474,7 @@ PanoramiXExtensionInit(void)
* run in non-PanoramiXeen mode. * run in non-PanoramiXeen mode.
*/ */
FOR_NSCREENS(i) { FOR_NSCREENS_BACKWARD(i) {
pScreen = screenInfo.screens[i]; pScreen = screenInfo.screens[i];
pScreenPriv = malloc(sizeof(PanoramiXScreenRec)); pScreenPriv = malloc(sizeof(PanoramiXScreenRec));
dixSetPrivate(&pScreen->devPrivates, PanoramiXScreenKey, dixSetPrivate(&pScreen->devPrivates, PanoramiXScreenKey,
@ -827,7 +827,7 @@ PanoramiXConsolidate(void)
saver = malloc(sizeof(PanoramiXRes)); saver = malloc(sizeof(PanoramiXRes));
saver->type = XRT_WINDOW; saver->type = XRT_WINDOW;
FOR_NSCREENS(i) { FOR_NSCREENS_BACKWARD(i) {
ScreenPtr scr = screenInfo.screens[i]; ScreenPtr scr = screenInfo.screens[i];
root->info[i].id = scr->root->drawable.id; root->info[i].id = scr->root->drawable.id;
@ -1072,7 +1072,7 @@ ProcXineramaQueryScreens(ClientPtr client)
xXineramaScreenInfo scratch; xXineramaScreenInfo scratch;
int i; int i;
FOR_NSCREENS(i) { FOR_NSCREENS_BACKWARD(i) {
scratch.x_org = screenInfo.screens[i]->x; scratch.x_org = screenInfo.screens[i]->x;
scratch.y_org = screenInfo.screens[i]->y; scratch.y_org = screenInfo.screens[i]->y;
scratch.width = screenInfo.screens[i]->width; scratch.width = screenInfo.screens[i]->width;
@ -1171,7 +1171,7 @@ XineramaGetImageData(DrawablePtr *pDrawables,
depth = (format == XYPixmap) ? 1 : pDraw->depth; depth = (format == XYPixmap) ? 1 : pDraw->depth;
FOR_NSCREENS(i) { FOR_NSCREENS_BACKWARD(i) {
BoxRec TheBox; BoxRec TheBox;
ScreenPtr pScreen; ScreenPtr pScreen;

View File

@ -70,7 +70,6 @@ typedef struct {
#define FOR_NSCREENS_FORWARD(j) for(j = 0; j < PanoramiXNumScreens; j++) #define FOR_NSCREENS_FORWARD(j) for(j = 0; j < PanoramiXNumScreens; j++)
#define FOR_NSCREENS_FORWARD_SKIP(j) for(j = 1; j < PanoramiXNumScreens; j++) #define FOR_NSCREENS_FORWARD_SKIP(j) for(j = 1; j < PanoramiXNumScreens; j++)
#define FOR_NSCREENS_BACKWARD(j) for(j = PanoramiXNumScreens - 1; j >= 0; j--) #define FOR_NSCREENS_BACKWARD(j) for(j = PanoramiXNumScreens - 1; j >= 0; j--)
#define FOR_NSCREENS(j) FOR_NSCREENS_FORWARD(j)
#define IS_SHARED_PIXMAP(r) (((r)->type == XRT_PIXMAP) && (r)->u.pix.shared) #define IS_SHARED_PIXMAP(r) (((r)->type == XRT_PIXMAP) && (r)->u.pix.shared)

View File

@ -917,7 +917,7 @@ PanoramiXCopyGC(ClientPtr client)
if (result != Success) if (result != Success)
return result; return result;
FOR_NSCREENS(j) { FOR_NSCREENS_BACKWARD(j) {
stuff->srcGC = srcGC->info[j].id; stuff->srcGC = srcGC->info[j].id;
stuff->dstGC = dstGC->info[j].id; stuff->dstGC = dstGC->info[j].id;
result = (*SavedProcVector[X_CopyGC]) (client); result = (*SavedProcVector[X_CopyGC]) (client);
@ -1102,7 +1102,7 @@ PanoramiXCopyArea(ClientPtr client)
char *data; char *data;
int pitch, rc; int pitch, rc;
FOR_NSCREENS(j) { FOR_NSCREENS_BACKWARD(j) {
rc = dixLookupDrawable(drawables + j, src->info[j].id, client, 0, rc = dixLookupDrawable(drawables + j, src->info[j].id, client, 0,
DixGetAttrAccess); DixGetAttrAccess);
if (rc != Success) if (rc != Success)
@ -1156,7 +1156,7 @@ PanoramiXCopyArea(ClientPtr client)
RegionInit(&rgn, &sourceBox, 1); RegionInit(&rgn, &sourceBox, 1);
/* subtract the (screen-space) clips of the source drawables */ /* subtract the (screen-space) clips of the source drawables */
FOR_NSCREENS(j) { FOR_NSCREENS_BACKWARD(j) {
ScreenPtr screen = screenInfo.screens[j]; ScreenPtr screen = screenInfo.screens[j];
RegionPtr sd; RegionPtr sd;

View File

@ -309,7 +309,7 @@ ProcShapeRectangles(ClientPtr client)
if (result != Success) if (result != Success)
return result; return result;
FOR_NSCREENS(j) { FOR_NSCREENS_BACKWARD(j) {
stuff->dest = win->info[j].id; stuff->dest = win->info[j].id;
result = ShapeRectangles(client, stuff); result = ShapeRectangles(client, stuff);
if (result != Success) if (result != Success)
@ -414,7 +414,7 @@ ProcShapeMask(ClientPtr client)
else else
pmap = NULL; pmap = NULL;
FOR_NSCREENS(j) { FOR_NSCREENS_BACKWARD(j) {
stuff->dest = win->info[j].id; stuff->dest = win->info[j].id;
if (pmap) if (pmap)
stuff->src = pmap->info[j].id; stuff->src = pmap->info[j].id;
@ -536,7 +536,7 @@ ProcShapeCombine(ClientPtr client)
if (result != Success) if (result != Success)
return result; return result;
FOR_NSCREENS(j) { FOR_NSCREENS_BACKWARD(j) {
stuff->dest = win->info[j].id; stuff->dest = win->info[j].id;
stuff->src = win2->info[j].id; stuff->src = win2->info[j].id;
result = ShapeCombine(client, stuff); result = ShapeCombine(client, stuff);
@ -600,7 +600,7 @@ ProcShapeOffset(ClientPtr client)
if (result != Success) if (result != Success)
return result; return result;
FOR_NSCREENS(j) { FOR_NSCREENS_BACKWARD(j) {
stuff->dest = win->info[j].id; stuff->dest = win->info[j].id;
result = ShapeOffset(client, stuff); result = ShapeOffset(client, stuff);
if (result != Success) if (result != Success)

View File

@ -761,7 +761,7 @@ ProcPanoramiXShmPutImage(ClientPtr client)
orig_y = stuff->dstY; orig_y = stuff->dstY;
sendEvent = stuff->sendEvent; sendEvent = stuff->sendEvent;
stuff->sendEvent = 0; stuff->sendEvent = 0;
FOR_NSCREENS(j) { FOR_NSCREENS_BACKWARD(j) {
if (!j) if (!j)
stuff->sendEvent = sendEvent; stuff->sendEvent = sendEvent;
stuff->drawable = draw->info[j].id; stuff->drawable = draw->info[j].id;
@ -985,7 +985,7 @@ ProcPanoramiXShmCreatePixmap(ClientPtr client)
result = Success; result = Success;
FOR_NSCREENS(j) { FOR_NSCREENS_BACKWARD(j) {
ShmScrPrivateRec *screen_priv; ShmScrPrivateRec *screen_priv;
pScreen = screenInfo.screens[j]; pScreen = screenInfo.screens[j];

View File

@ -1750,7 +1750,7 @@ XineramifyXv(void)
if (!port) if (!port)
break; break;
FOR_NSCREENS(k) { FOR_NSCREENS_BACKWARD(k) {
if (MatchingAdaptors[k] && (MatchingAdaptors[k]->nPorts > j)) if (MatchingAdaptors[k] && (MatchingAdaptors[k]->nPorts > j))
port->info[k].id = MatchingAdaptors[k]->base_id + j; port->info[k].id = MatchingAdaptors[k]->base_id + j;
else else

View File

@ -707,7 +707,7 @@ PanoramiXCompositeNameWindowPixmap(ClientPtr client)
newPix->u.pix.shared = FALSE; newPix->u.pix.shared = FALSE;
panoramix_setup_ids(newPix, client, stuff->pixmap); panoramix_setup_ids(newPix, client, stuff->pixmap);
FOR_NSCREENS(i) { FOR_NSCREENS_BACKWARD(i) {
rc = dixLookupResourceByType((void **) &pWin, win->info[i].id, rc = dixLookupResourceByType((void **) &pWin, win->info[i].id,
X11_RESTYPE_WINDOW, client, X11_RESTYPE_WINDOW, client,
DixGetAttrAccess); DixGetAttrAccess);
@ -820,7 +820,7 @@ PanoramiXCompositeGetOverlayWindow(ClientPtr client)
} }
if (overlayWin) { if (overlayWin) {
FOR_NSCREENS(i) { FOR_NSCREENS_BACKWARD(i) {
cs = GetCompScreen(screenInfo.screens[i]); cs = GetCompScreen(screenInfo.screens[i]);
overlayWin->info[i].id = cs->pOverlayWin->drawable.id; overlayWin->info[i].id = cs->pOverlayWin->drawable.id;
} }

View File

@ -542,7 +542,7 @@ XineramaSetCursorPosition(DeviceIntPtr pDev, int x, int y, Bool generateEvent)
y += screenInfo.screens[0]->y; y += screenInfo.screens[0]->y;
if (!point_on_screen(pScreen, x, y)) { if (!point_on_screen(pScreen, x, y)) {
FOR_NSCREENS(i) { FOR_NSCREENS_BACKWARD(i) {
if (i == pScreen->myNum) if (i == pScreen->myNum)
continue; continue;
if (point_on_screen(screenInfo.screens[i], x, y)) { if (point_on_screen(screenInfo.screens[i], x, y)) {
@ -589,7 +589,7 @@ XineramaSetWindowPntrs(DeviceIntPtr pDev, WindowPtr pWin)
if (pWin == screenInfo.screens[0]->root) { if (pWin == screenInfo.screens[0]->root) {
int i; int i;
FOR_NSCREENS(i) FOR_NSCREENS_BACKWARD(i)
pSprite->windows[i] = screenInfo.screens[i]->root; pSprite->windows[i] = screenInfo.screens[i]->root;
} }
else { else {
@ -601,7 +601,7 @@ XineramaSetWindowPntrs(DeviceIntPtr pDev, WindowPtr pWin)
if (rc != Success) if (rc != Success)
return FALSE; return FALSE;
FOR_NSCREENS(i) { FOR_NSCREENS_BACKWARD(i) {
rc = dixLookupWindow(pSprite->windows + i, win->info[i].id, rc = dixLookupWindow(pSprite->windows + i, win->info[i].id,
serverClient, DixReadAccess); serverClient, DixReadAccess);
if (rc != Success) /* window is being unmapped */ if (rc != Success) /* window is being unmapped */

View File

@ -3038,7 +3038,7 @@ SendVisibilityNotify(WindowPtr pWin)
switch (visibility) { switch (visibility) {
case VisibilityUnobscured: case VisibilityUnobscured:
FOR_NSCREENS(i) { FOR_NSCREENS_BACKWARD(i) {
if (i == Scrnum) if (i == Scrnum)
continue; continue;
@ -3063,7 +3063,7 @@ SendVisibilityNotify(WindowPtr pWin)
} }
break; break;
case VisibilityFullyObscured: case VisibilityFullyObscured:
FOR_NSCREENS(i) { FOR_NSCREENS_BACKWARD(i) {
if (i == Scrnum) if (i == Scrnum)
continue; continue;