st/xorg: Fix thinko.
[mesa.git] / src / gallium / state_trackers / xorg / xorg_driver.c
index 004a28f00e1133481d219b9309b16b7ac44da178..a59e8dcad5184b5a0ff35227400bc4f079d02edf 100644 (file)
@@ -676,10 +676,9 @@ drv_screen_init(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
     }
 
     if (ms->screen) {
-       float maxf;
        int max;
-       maxf = ms->screen->get_paramf(ms->screen, PIPE_CAP_MAX_TEXTURE_2D_LEVELS);
-       max = (1 << (int)(maxf - 1.0f));
+       max = ms->screen->get_param(ms->screen, PIPE_CAP_MAX_TEXTURE_2D_LEVELS);
+       max = 1 << (max - 1);
        max_width = max < max_width ? max : max_width;
        max_height = max < max_height ? max : max_height;
     }
@@ -922,6 +921,11 @@ drv_close_screen(int scrnIndex, ScreenPtr pScreen)
        drv_leave_vt(scrnIndex, 0);
     }
 
+    if (ms->cursor) {
+       FreeCursor(ms->cursor, None);
+       ms->cursor = NULL;
+    }
+
     if (cust && cust->winsys_screen_close)
        cust->winsys_screen_close(cust);