diff options
author | Eric Anholt <eric@anholt.net> | 2014-04-09 15:24:23 -0700 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-04-10 09:07:38 +0100 |
commit | b771b41f0a945fc580d532524cc744b01dd36d5f (patch) | |
tree | 56279c5495bc08ddfa5755907a689d33a5261f97 | |
parent | d812afc1d4476ba987883fad2ef8b7c002638077 (diff) |
uxa: Fix load_cursor_argb for the new Xorg ABI.
Returning an undefined value meant we might get sw cursors.
-rw-r--r-- | src/uxa/intel_display.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/uxa/intel_display.c b/src/uxa/intel_display.c index 0f067938..857aa240 100644 --- a/src/uxa/intel_display.c +++ b/src/uxa/intel_display.c @@ -432,8 +432,8 @@ intel_crtc_set_cursor_position (xf86CrtcPtr crtc, int x, int y) drmModeMoveCursor(mode->fd, crtc_id(intel_crtc), x, y); } -static void -intel_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image) +static int +__intel_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image) { struct intel_crtc *intel_crtc = crtc->driver_private; int ret; @@ -442,7 +442,23 @@ intel_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image) if (ret) xf86DrvMsg(crtc->scrn->scrnIndex, X_ERROR, "failed to set cursor: %s\n", strerror(-ret)); + + return ret; +} + +#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,15,99,902,0) +static Bool +intel_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image) +{ + return __intel_crtc_load_cursor_argb(crtc, image) == 0; +} +#else +static void +intel_crtc_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image) +{ + __intel_crtc_load_cursor_argb(crtc, image); } +#endif static void intel_crtc_hide_cursor(xf86CrtcPtr crtc) |