summaryrefslogtreecommitdiff
path: root/src/sna/sna_display.c
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 /src/sna/sna_display.c
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>
Diffstat (limited to 'src/sna/sna_display.c')
-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;