/* * RootlessInit * Rootless wraps lots of stuff and needs a bunch of devPrivates. */ Bool RootlessInit(ScreenPtr pScreen, RootlessFrameProcs *procs) { RootlessScreenRec *s; if (! RootlessAllocatePrivates(pScreen)) return FALSE; s = (RootlessScreenRec*) pScreen->devPrivates[rootlessScreenPrivateIndex].ptr; s->pScreen = pScreen; s->frameProcs = *procs; RootlessWrap(pScreen); if (!RegisterBlockAndWakeupHandlers (RootlessBlockHandler, RootlessWakeupHandler, (pointer) pScreen)) { return FALSE; } return TRUE; }
/* * RootlessInit * Called by the rootless implementation to initialize the rootless layer. * Rootless wraps lots of stuff and needs a bunch of devPrivates. */ Bool RootlessInit(ScreenPtr pScreen, RootlessFrameProcsPtr procs) { RootlessScreenRec *s; if (!RootlessAllocatePrivates(pScreen)) return FALSE; s = SCREENREC(pScreen); s->imp = procs; s->colormap = NULL; s->redisplay_expired = FALSE; RootlessWrap(pScreen); if (!RegisterBlockAndWakeupHandlers(RootlessBlockHandler, RootlessWakeupHandler, (pointer) pScreen)) { return FALSE; } return TRUE; }