From ce393de0efb8626d15f3b97c97916971a6aefebd Mon Sep 17 00:00:00 2001
From: Dave Airlie <airlied@redhat.com>
Date: Fri, 23 Jun 2017 09:29:13 +1000
Subject: [PATCH] modesetting: handle NULL cursor in drmmode_set_cursor.

We had a bug reported with a touchscreen where we could end up
in here with a NULL cursor, so let's not crash the X server.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-and-Tested-by: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---
 hw/xfree86/drivers/modesetting/drmmode_display.c | 3 +++
 1 file changed, 3 insertions(+)

Index: xorg-server-1.19.6/hw/xfree86/drivers/modesetting/drmmode_display.c
===================================================================
--- xorg-server-1.19.6.orig/hw/xfree86/drivers/modesetting/drmmode_display.c
+++ xorg-server-1.19.6/hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -749,6 +749,9 @@ drmmode_set_cursor(xf86CrtcPtr crtc)
     if (!drmmode_crtc->set_cursor2_failed) {
         CursorPtr cursor = xf86CurrentCursor(crtc->scrn->pScreen);
 
+        if (cursor == NullCursor)
+            return TRUE;
+
         ret =
             drmModeSetCursor2(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id,
                               handle, ms->cursor_width, ms->cursor_height,
