summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-07-28 22:42:28 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2016-07-28 22:42:28 +0100
commit24f613cae4147e0e1e770ee22932b6e2fb7064a2 (patch)
treeaa4a6dbdf1c974ea804154b51a161671c7fdf553
parent8bfac0f21ab817c7ccd654a0571bb07e6c7b77d5 (diff)
sna: Hide the hardware cursor when switching back after an error
If the kernel complains when trying to move the cursor, we disable the hwcursor and switch to swcursor. However, if the kernel is still showing the hwcursor we end up with multiple visible cursors. Attempt to disable the hwcursor (that may or may not work) as we switch over. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_display.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index b3eb19f7..f10e3402 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -5842,6 +5842,8 @@ static void __restore_swcursor(ScrnInfoPtr scrn)
static void restore_swcursor(struct sna *sna)
{
+ sna->cursor.info->HideCursor(sna->scrn);
+
/* XXX Force the cursor to be restored (avoiding recursion) */
FreeCursor(sna->cursor.ref, None);
sna->cursor.ref = NULL;