summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-07-03 09:07:44 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2014-07-03 09:11:32 +0100
commit57d0cc82d851b95d4e3b1821287dd3ffd1cf6e3b (patch)
tree0cf2a8f774ad04e57b3ff77a079afe8db9f1af7d
parent24c9bac7eb6e17b55044d719bab74d16fd68c450 (diff)
downloadxf86-video-intel-57d0cc82d851b95d4e3b1821287dd3ffd1cf6e3b.tar.gz
xf86-video-intel-57d0cc82d851b95d4e3b1821287dd3ffd1cf6e3b.tar.bz2
xf86-video-intel-57d0cc82d851b95d4e3b1821287dd3ffd1cf6e3b.zip
sna: Clear the cursor reference from the CRTC if the update fails
This should allow it to be restored correctly the next time it gets shown. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_display.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 55795855a..f472f2c31 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -4398,9 +4398,9 @@ sna_set_cursor_position(ScrnInfoPtr scrn, int x, int y)
if (sna_crtc->cursor != cursor) {
arg.flags |= DRM_MODE_CURSOR_BO;
arg.handle = cursor->handle;
- arg.width = arg.height = cursor->size;
}
+ arg.width = arg.height = cursor->size;
arg.flags |= DRM_MODE_CURSOR_MOVE;
crtc->cursor_in_range = true;
} else {
@@ -4410,6 +4410,7 @@ disable:
arg.flags = DRM_MODE_CURSOR_BO;
arg.width = arg.height = 0;
}
+ cursor = NULL;
}
__DBG(("%s: CRTC:%d (%d, %d), handle=%d, flags=%x (old cursor handle=%d), move? %d, update handle? %d\n",