diff options
author | Dave Airlie <airlied@redhat.com> | 2010-10-29 16:16:02 +1000 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2010-10-31 12:27:38 +1000 |
commit | 36ede5034dbc2709548eedd9f31b7454ee020c45 (patch) | |
tree | 76ed7bbee336a757c8928284c78413e53f525352 | |
parent | 438c68ecd3521725f11fc83bb4b3e340f47c0a6d (diff) |
fix window list
-rw-r--r-- | Xext/panoramiX.c | 1 | ||||
-rw-r--r-- | dix/window.c | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c index 75dedf369..755f83d95 100644 --- a/Xext/panoramiX.c +++ b/Xext/panoramiX.c @@ -1182,6 +1182,7 @@ XineramaDoMigrateScreen(void) InitRootWindow(screenInfo.screens[1]->root); WalkTree(screenInfo.screens[0], mywalker, NULL); + screenInfo.numScreens++; for (i = currentMaxClients; --i >= 0; ) { // FindClientResourcesByType(clients[i], XRT_WINDOW, print_xrt, clients[i]); diff --git a/dix/window.c b/dix/window.c index 849fcc889..6cc9702be 100644 --- a/dix/window.c +++ b/dix/window.c @@ -555,6 +555,17 @@ DuplicateWindow(Window wid, WindowPtr pParent, WindowPtr pSrc) pWin->drawable.id = wid; pWin->parent = pParent; + pWin->nextSib = NULL; + pWin->prevSib = NULL; + pWin->firstChild = NULL; + pWin->lastChild = NULL; + pWin->nextSib = pParent->firstChild; + if (pParent->firstChild) + pParent->firstChild->prevSib = pWin; + else + pParent->lastChild = pWin; + pParent->firstChild = pWin; + if (!(*pScreen->CreateWindow)(pWin)) { DeleteWindow(pWin, None); |