summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2008-07-24 18:03:31 -0700
committerAaron Plattner <aplattner@nvidia.com>2008-07-24 18:03:31 -0700
commit9b727b8384d51e3657bb50efa090adde91c17a73 (patch)
tree95c04ef8d50b7485772d06132b4bc62c1f037350
parent6cd80057fadbb8d63d3e1a623515206800fefc8e (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.
-rw-r--r--src/g80_driver.c14
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;