From c61bb8cc59bf645f1bf4dbc5fd5464d559b3ecad Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Mon, 20 Jun 2016 12:18:53 +0200 Subject: Move each screen's root-window pointer into ScreenRec. Backported from X.org: commit e7fae9ecc42ab5e73b89117722dbf4117d928f9a Author: Jamey Sharp Date: Sat May 22 00:26:28 2010 -0700 Move each screen's root-window pointer into ScreenRec. Many references to the WindowTable array already had the corresponding screen pointer handy, which meant they usually looked like "WindowTable[pScreen->myNum]". Adding a field to ScreenRec instead of keeping this information in a parallel array simplifies those expressions, and eliminates a MAXSCREENS-sized array. Since dix uses this data, a screen private entry isn't appropriate. xf86-video-dummy currently uses WindowTable, so it needs to be updated to reflect this change. Signed-off-by: Jamey Sharp Reviewed-by: Tiago Vignatti Tested-by: Tiago Vignatti (i686 GNU/Linux) Backport to nx-libs: Mike Gabriel --- nx-X11/programs/Xserver/hw/nxagent/Rootless.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Rootless.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c index a725e20e7..49877f9d7 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c @@ -20,6 +20,7 @@ #include "../../include/window.h" #include "windowstr.h" #include "colormapst.h" +#include "scrnintstr.h" #include "propertyst.h" #include "Agent.h" @@ -242,7 +243,7 @@ Bool nxagentRootlessTreesMatch() Window *children_return; unsigned int nChildrenReturn; WindowPtr pW; - WindowPtr pTestWin = WindowTable[0] -> firstChild; + WindowPtr pTestWin = screenInfo.screens[0]->root -> firstChild; Bool treesMatch = True; Status result; @@ -267,7 +268,7 @@ Bool nxagentRootlessTreesMatch() pW = nxagentRootlessTopLevelWindow(children_return[nChildrenReturn]); } - if (pW && pW != WindowTable[0]) + if (pW && pW != screenInfo.screens[0]->root) { if (treesMatch && pTestWin && pTestWin == pW) { @@ -316,7 +317,7 @@ void nxagentRootlessRestack(unsigned long children[], unsigned int nchildren) pWin = nxagentRootlessTopLevelWindow(children[i]); } - if (pWin && pWin != WindowTable[0]) + if (pWin && pWin != screenInfo.screens[0]->root) { toplevel[ntoplevel++] = pWin; } @@ -338,14 +339,14 @@ void nxagentRootlessRestack(unsigned long children[], unsigned int nchildren) fprintf(stderr, "nxagentRootlessRestack: Internal top level windows before restack:"); - for (pWin = WindowTable[0] -> firstChild; pWin != NULL; pWin = pWin -> nextSib) + for (pWin = screenInfo.screens[0]->root -> firstChild; pWin != NULL; pWin = pWin -> nextSib) { fprintf(stderr, "[%p]\n", pWin); } #endif - pWin = WindowTable[0] -> firstChild; + pWin = screenInfo.screens[0]->root -> firstChild; values[1] = (XID) Above; @@ -381,7 +382,7 @@ void nxagentRootlessRestack(unsigned long children[], unsigned int nchildren) fprintf(stderr, "nxagentRootlessRestack: Internal top level windows after restack:"); - for (pWin = WindowTable[0] -> firstChild; pWin != NULL; pWin = pWin -> nextSib) + for (pWin = screenInfo.screens[0]->root -> firstChild; pWin != NULL; pWin = pWin -> nextSib) { fprintf(stderr, "[%p]\n", pWin); } -- cgit v1.2.3