diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2016-06-20 12:18:53 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2016-06-21 04:09:16 +0200 |
commit | c61bb8cc59bf645f1bf4dbc5fd5464d559b3ecad (patch) | |
tree | 99b43f999db460959346ca3d29d261052deb6b3d /nx-X11/programs/Xserver/Xext | |
parent | 590862d39d6e7cea6425416a5ef6fa2e747bcc0c (diff) | |
download | nx-libs-c61bb8cc59bf645f1bf4dbc5fd5464d559b3ecad.tar.gz nx-libs-c61bb8cc59bf645f1bf4dbc5fd5464d559b3ecad.tar.bz2 nx-libs-c61bb8cc59bf645f1bf4dbc5fd5464d559b3ecad.zip |
Move each screen's root-window pointer into ScreenRec.
Backported from X.org:
commit e7fae9ecc42ab5e73b89117722dbf4117d928f9a
Author: Jamey Sharp <jamey@minilop.net>
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 <jamey@minilop.net>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com> (i686 GNU/Linux)
Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Diffstat (limited to 'nx-X11/programs/Xserver/Xext')
-rw-r--r-- | nx-X11/programs/Xserver/Xext/panoramiX.c | 2 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/Xext/panoramiX.h | 4 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/Xext/panoramiXprocs.c | 14 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/Xext/saver.c | 6 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/Xext/xtest.c | 2 |
5 files changed, 14 insertions, 14 deletions
diff --git a/nx-X11/programs/Xserver/Xext/panoramiX.c b/nx-X11/programs/Xserver/Xext/panoramiX.c index 2671ba0d3..9c5eefe4a 100644 --- a/nx-X11/programs/Xserver/Xext/panoramiX.c +++ b/nx-X11/programs/Xserver/Xext/panoramiX.c @@ -896,7 +896,7 @@ void PanoramiXConsolidate(void) for (i = 0; i < PanoramiXNumScreens; i++) { - root->info[i].id = WindowTable[i]->drawable.id; + root->info[i].id = screenInfo.screens[i]->root->drawable.id; root->u.win.class = InputOutput; root->u.win.root = TRUE; saver->info[i].id = savedScreenInfo[i].wid; diff --git a/nx-X11/programs/Xserver/Xext/panoramiX.h b/nx-X11/programs/Xserver/Xext/panoramiX.h index 3f70b6473..8113e3072 100644 --- a/nx-X11/programs/Xserver/Xext/panoramiX.h +++ b/nx-X11/programs/Xserver/Xext/panoramiX.h @@ -89,11 +89,11 @@ typedef struct { #define FORCE_ROOT(a) { \ int _j; \ for (_j = PanoramiXNumScreens - 1; _j; _j--) \ - if ((a).root == WindowTable[_j]->drawable.id) \ + if ((a).root == screenInfo.screens[_j]->root->drawable.id) \ break; \ (a).rootX += panoramiXdataPtr[_j].x; \ (a).rootY += panoramiXdataPtr[_j].y; \ - (a).root = WindowTable[0]->drawable.id; \ + (a).root = screenInfo.screens[0]->root->drawable.id; \ } #define FORCE_WIN(a) { \ diff --git a/nx-X11/programs/Xserver/Xext/panoramiXprocs.c b/nx-X11/programs/Xserver/Xext/panoramiXprocs.c index 17fe6d6c6..b4719d76f 100644 --- a/nx-X11/programs/Xserver/Xext/panoramiXprocs.c +++ b/nx-X11/programs/Xserver/Xext/panoramiXprocs.c @@ -146,7 +146,7 @@ int PanoramiXCreateWindow(ClientPtr client) orig_visual = stuff->visual; orig_x = stuff->x; orig_y = stuff->y; - parentIsRoot = (stuff->parent == WindowTable[0]->drawable.id) || + parentIsRoot = (stuff->parent == screenInfo.screens[0]->root->drawable.id) || (stuff->parent == savedScreenInfo[0].wid); FOR_NSCREENS_BACKWARD(j) { stuff->wid = newWin->info[j].id; @@ -336,7 +336,7 @@ int PanoramiXReparentWindow(ClientPtr client) x = stuff->x; y = stuff->y; - parentIsRoot = (stuff->parent == WindowTable[0]->drawable.id) || + parentIsRoot = (stuff->parent == screenInfo.screens[0]->root->drawable.id) || (stuff->parent == savedScreenInfo[0].wid); FOR_NSCREENS_BACKWARD(j) { stuff->window = win->info[j].id; @@ -476,7 +476,7 @@ int PanoramiXConfigureWindow(ClientPtr client) } } - if(pWin->parent && ((pWin->parent == WindowTable[0]) || + if(pWin->parent && ((pWin->parent == screenInfo.screens[0]->root) || (pWin->parent->drawable.id == savedScreenInfo[0].wid))) { if ((Mask)stuff->mask & CWX) { @@ -540,7 +540,7 @@ int PanoramiXGetGeometry(ClientPtr client) rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; - rep.root = WindowTable[0]->drawable.id; + rep.root = screenInfo.screens[0]->root->drawable.id; rep.depth = pDraw->depth; rep.width = pDraw->width; rep.height = pDraw->height; @@ -558,7 +558,7 @@ int PanoramiXGetGeometry(ClientPtr client) WindowPtr pWin = (WindowPtr)pDraw; rep.x = pWin->origin.x - wBorderWidth (pWin); rep.y = pWin->origin.y - wBorderWidth (pWin); - if((pWin->parent == WindowTable[0]) || + if((pWin->parent == screenInfo.screens[0]->root) || (pWin->parent->drawable.id == savedScreenInfo[0].wid)) { rep.x += panoramiXdataPtr[0].x; @@ -594,7 +594,7 @@ int PanoramiXTranslateCoords(ClientPtr client) rep.sameScreen = xTrue; rep.child = None; - if((pWin == WindowTable[0]) || + if((pWin == screenInfo.screens[0]->root) || (pWin->drawable.id == savedScreenInfo[0].wid)) { x = stuff->srcX - panoramiXdataPtr[0].x; @@ -636,7 +636,7 @@ int PanoramiXTranslateCoords(ClientPtr client) } rep.dstX = x - pDst->drawable.x; rep.dstY = y - pDst->drawable.y; - if((pDst == WindowTable[0]) || + if((pDst == screenInfo.screens[0]->root) || (pDst->drawable.id == savedScreenInfo[0].wid)) { rep.dstX += panoramiXdataPtr[0].x; diff --git a/nx-X11/programs/Xserver/Xext/saver.c b/nx-X11/programs/Xserver/Xext/saver.c index ec91d080a..a871be9b7 100644 --- a/nx-X11/programs/Xserver/Xext/saver.c +++ b/nx-X11/programs/Xserver/Xext/saver.c @@ -473,7 +473,7 @@ SendScreenSaverNotify (pScreen, state, forced) ev.state = state; ev.sequenceNumber = client->sequence; ev.timestamp = currentTime.milliseconds; - ev.root = WindowTable[pScreen->myNum]->drawable.id; + ev.root = pScreen->root->drawable.id; ev.window = savedScreenInfo[pScreen->myNum].wid; ev.kind = kind; ev.forced = forced; @@ -549,7 +549,7 @@ CreateSaverWindow (pScreen) if (GrabInProgress && GrabInProgress != pAttr->client->index) return FALSE; - pWin = CreateWindow (pSaver->wid, WindowTable[pScreen->myNum], + pWin = CreateWindow (pSaver->wid, pScreen->root, pAttr->x, pAttr->y, pAttr->width, pAttr->height, pAttr->borderWidth, pAttr->class, pAttr->mask, (XID *)pAttr->values, @@ -830,7 +830,7 @@ ScreenSaverSetAttributes (ClientPtr client) if (!pDraw) return BadDrawable; pScreen = pDraw->pScreen; - pParent = WindowTable[pScreen->myNum]; + pParent = pScreen->root; len = stuff->length - (sizeof(xScreenSaverSetAttributesReq) >> 2); if (Ones(stuff->mask) != len) diff --git a/nx-X11/programs/Xserver/Xext/xtest.c b/nx-X11/programs/Xserver/Xext/xtest.c index 8a03db5f9..565e8e8d7 100644 --- a/nx-X11/programs/Xserver/Xext/xtest.c +++ b/nx-X11/programs/Xserver/Xext/xtest.c @@ -409,7 +409,7 @@ ProcXTestFakeInput(client) if (RegionContainsPoint( &XineramaScreenRegions[i], x, y, &box)) { - root = WindowTable[i]; + root = screenInfo.screens[i]->root; x -= panoramiXdataPtr[i].x; y -= panoramiXdataPtr[i].y; ev->u.keyButtonPointer.rootX = x; |