From 774a7aa66f81b7bf2cb910e5fb0930436030413a Mon Sep 17 00:00:00 2001
From: John Hodge <tpg@mutabah.net>
Date: Wed, 25 Dec 2013 08:47:52 +0800
Subject: [PATCH] Modules/VESA - Hide cursor when not LFB mode

---
 KernelLand/Modules/Display/VESA/main.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/KernelLand/Modules/Display/VESA/main.c b/KernelLand/Modules/Display/VESA/main.c
index 25616da2..51c80e1a 100644
--- a/KernelLand/Modules/Display/VESA/main.c
+++ b/KernelLand/Modules/Display/VESA/main.c
@@ -363,7 +363,8 @@ int Vesa_IOCtl(tVFS_Node *Node, int ID, void *Data)
 		return 0;
 	
 	case VIDEO_IOCTL_SETCURSORBITMAP:
-		DrvUtil_Video_SetCursor( &gVesa_BufInfo, Data );
+		if( gpVesaCurMode->flags & FLAG_LFB )
+			DrvUtil_Video_SetCursor( &gVesa_BufInfo, Data );
 		return 0;
 	}
 	return 0;
@@ -551,9 +552,9 @@ int Vesa_Int_ModeInfo(tVideo_IOCtl_Mode *data)
 
 void Vesa_int_HideCursor(void)
 {
+	DrvUtil_Video_RemoveCursor( &gVesa_BufInfo );
 	if( gpVesaCurMode->flags & FLAG_LFB )
 	{
-		DrvUtil_Video_RemoveCursor( &gVesa_BufInfo );
 		#if BLINKING_CURSOR
 		if(gpVesaCursorTimer) {
 			Time_RemoveTimer(gpVesaCursorTimer);
@@ -585,6 +586,10 @@ void Vesa_int_ShowCursor(void)
 				giVesaCursorY
 				);
 	}
+	else
+	{
+		DrvUtil_Video_RemoveCursor( &gVesa_BufInfo );
+	}
 }
 
 /**
-- 
GitLab