summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2014-04-09 15:24:23 -0700
committerChris Wilson <chris@chris-wilson.co.uk>2014-04-10 09:07:38 +0100
commitb771b41f0a945fc580d532524cc744b01dd36d5f (patch)
tree56279c5495bc08ddfa5755907a689d33a5261f97
parentd812afc1d4476ba987883fad2ef8b7c002638077 (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.c20
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)