diff options
Diffstat (limited to 'xorg-server/dix/main.c')
-rw-r--r-- | xorg-server/dix/main.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/xorg-server/dix/main.c b/xorg-server/dix/main.c index bea1a8d5a..e69cd931f 100644 --- a/xorg-server/dix/main.c +++ b/xorg-server/dix/main.c @@ -211,6 +211,9 @@ main(int argc, char *argv[], char *envp[]) ScreenPtr pScreen = screenInfo.gpuscreens[i]; if (!CreateScratchPixmapsForScreen(pScreen)) FatalError("failed to create scratch pixmaps"); + if (pScreen->CreateScreenResources && + !(*pScreen->CreateScreenResources) (pScreen)) + FatalError("failed to create screen resources"); } for (i = 0; i < screenInfo.numScreens; i++) { @@ -355,12 +358,16 @@ main(int argc, char *argv[], char *envp[]) dixFreePrivates(serverClient->devPrivates, PRIVATE_CLIENT); serverClient->devPrivates = NULL; + dixFreeRegistry(); + FreeFonts(); FreeAllAtoms(); FreeAuditTimer(); + DeleteCallbackManager(); + if (dispatchException & DE_TERMINATE) { CloseWellKnownConnections(); } |