diff options
author | marha <marha@users.sourceforge.net> | 2012-07-09 08:08:20 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-07-09 08:08:20 +0200 |
commit | c29d91cfd8df084f16d0d2dfa82c3a86f7719a73 (patch) | |
tree | f0ac6c2a9f9da0ce818aa4fc04a1be6e8121962f /xorg-server/dix/main.c | |
parent | 336bad93d146931c160d8517edfdf0bee49ad9f7 (diff) | |
download | vcxsrv-c29d91cfd8df084f16d0d2dfa82c3a86f7719a73.tar.gz vcxsrv-c29d91cfd8df084f16d0d2dfa82c3a86f7719a73.tar.bz2 vcxsrv-c29d91cfd8df084f16d0d2dfa82c3a86f7719a73.zip |
fontconfig libX11 mesa pixman xserver git update 9 Jul 2012
Diffstat (limited to 'xorg-server/dix/main.c')
-rw-r--r-- | xorg-server/dix/main.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/xorg-server/dix/main.c b/xorg-server/dix/main.c index 9524189d0..42f517dfd 100644 --- a/xorg-server/dix/main.c +++ b/xorg-server/dix/main.c @@ -207,6 +207,12 @@ main(int argc, char *argv[], char *envp[]) FatalError("no screens found"); InitExtensions(argc, argv); + for (i = 0; i < screenInfo.numGPUScreens; i++) { + ScreenPtr pScreen = screenInfo.gpuscreens[i]; + if (!CreateScratchPixmapsForScreen(pScreen)) + FatalError("failed to create scratch pixmaps"); + } + for (i = 0; i < screenInfo.numScreens; i++) { ScreenPtr pScreen = screenInfo.screens[i]; @@ -336,6 +342,15 @@ main(int argc, char *argv[], char *envp[]) screenInfo.numScreens = i; } + for (i = screenInfo.numGPUScreens - 1; i >= 0; i--) { + ScreenPtr pScreen = screenInfo.gpuscreens[i]; + FreeScratchPixmapsForScreen(pScreen); + (*pScreen->CloseScreen) (pScreen); + dixFreePrivates(pScreen->devPrivates, PRIVATE_SCREEN); + free(pScreen); + screenInfo.numGPUScreens = i; + } + ReleaseClientIds(serverClient); dixFreePrivates(serverClient->devPrivates, PRIVATE_CLIENT); serverClient->devPrivates = NULL; |