+ #if !BLINKING_CURSOR\r
+ if(giVesaCursorX > 0 && giVesaCursorY)\r
+ Vesa_FlipCursor(Node);\r
+ #endif\r
+ giVesaCursorX = ((tVideo_IOCtl_Pos*)Data)->x;\r
+ giVesaCursorY = ((tVideo_IOCtl_Pos*)Data)->y;\r
+ //Log_Debug("VESA", "Cursor position (%i,%i)", giVesaCursorX, giVesaCursorY);\r
+ if(\r
+ giVesaCursorX < 0 || giVesaCursorY < 0\r
+ || giVesaCursorX >= gpVesaCurMode->width/giVT_CharWidth\r
+ || giVesaCursorY >= gpVesaCurMode->height/giVT_CharHeight)\r
+ {\r
+ #if BLINKING_CURSOR\r
+ if(giVesaCursorTimer != -1) {\r
+ Time_RemoveTimer(giVesaCursorTimer);\r
+ giVesaCursorTimer = -1;\r
+ }\r
+ #endif\r
+ giVesaCursorX = -1;\r
+ giVesaCursorY = -1;\r
+ }\r
+ else {\r
+ #if BLINKING_CURSOR\r
+ // Log_Debug("VESA", "Updating timer %i?", giVesaCursorTimer);\r
+ if(giVesaCursorTimer == -1)\r
+ giVesaCursorTimer = Time_CreateTimer(VESA_CURSOR_PERIOD, Vesa_FlipCursor, Node);\r
+ #else\r
+ Vesa_FlipCursor(Node);\r
+ #endif\r
+ }\r
+ //Log_Debug("VESA", "Cursor position (%i,%i) Timer %i", giVesaCursorX, giVesaCursorY, giVesaCursorTimer);\r