diff options
author | Aaron Plattner <aplattner@nvidia.com> | 2008-07-24 18:03:31 -0700 |
---|---|---|
committer | Aaron Plattner <aplattner@nvidia.com> | 2008-07-24 18:03:31 -0700 |
commit | 9b727b8384d51e3657bb50efa090adde91c17a73 (patch) | |
tree | 95c04ef8d50b7485772d06132b4bc62c1f037350 /src | |
parent | 6cd80057fadbb8d63d3e1a623515206800fefc8e (diff) |
Move hardware cursor initialization to after AcquireDisplay.
The original order works fine when the server starts, but on the second server
generation the server tries to call G80CrtcHideCursor before the display engine
has been initialized, causing a hang.
Diffstat (limited to 'src')
-rw-r--r-- | src/g80_driver.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/g80_driver.c b/src/g80_driver.c index a0182a1..50d55a0 100644 --- a/src/g80_driver.c +++ b/src/g80_driver.c @@ -914,13 +914,6 @@ G80ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) Must precede creation of the default colormap */ miDCInitialize(pScreen, xf86GetPointerScreenFuncs()); - /* Initialize hardware cursor. Must follow software cursor initialization. */ - if(pNv->HWCursor && !G80CursorInit(pScreen)) { - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, - "Hardware cursor initialization failed\n"); - pNv->HWCursor = FALSE; - } - /* Initialize default colormap */ if(!miCreateDefColormap(pScreen)) return FALSE; @@ -949,6 +942,13 @@ G80ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) if(!AcquireDisplay(pScrn)) return FALSE; + /* Initialize hardware cursor. Must follow software cursor initialization. */ + if(pNv->HWCursor && !G80CursorInit(pScreen)) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Hardware cursor initialization failed\n"); + pNv->HWCursor = FALSE; + } + pScreen->SaveScreen = G80SaveScreen; pNv->CloseScreen = pScreen->CloseScreen; |