xfree86/modes: Assign xf86_config->cursor in xf86_load_cursor_image v2
Fixes a crash on startup in the radeon driver's drmmode_show_cursor() due to xf86_config->cursor == NULL, because no CRTC was enabled yet, so xf86_crtc_load_cursor_image was never called. (Also use scrn->pScreen instead of xf86ScrnToScreen(scrn)) v2: Set xf86_config->cursor at the beginning of xf86_load_cursor_image instead of at the end. Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
28b2c880a9
commit
84e0d5d63c
|
@ -456,7 +456,6 @@ xf86_crtc_load_cursor_image(xf86CrtcPtr crtc, CARD8 *src)
|
||||||
CARD8 *cursor_image;
|
CARD8 *cursor_image;
|
||||||
const Rotation rotation = xf86_crtc_cursor_rotation(crtc);
|
const Rotation rotation = xf86_crtc_cursor_rotation(crtc);
|
||||||
|
|
||||||
xf86_config->cursor = xf86CurrentCursor(xf86ScrnToScreen(scrn));
|
|
||||||
crtc->cursor_argb = FALSE;
|
crtc->cursor_argb = FALSE;
|
||||||
|
|
||||||
if (rotation == RR_Rotate_0)
|
if (rotation == RR_Rotate_0)
|
||||||
|
@ -493,6 +492,7 @@ xf86_load_cursor_image(ScrnInfoPtr scrn, unsigned char *src)
|
||||||
xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
|
xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
|
xf86_config->cursor = xf86CurrentCursor(scrn->pScreen);
|
||||||
for (c = 0; c < xf86_config->num_crtc; c++) {
|
for (c = 0; c < xf86_config->num_crtc; c++) {
|
||||||
xf86CrtcPtr crtc = xf86_config->crtc[c];
|
xf86CrtcPtr crtc = xf86_config->crtc[c];
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue