aboutsummaryrefslogtreecommitdiffstats
path: root/dibcall.c
diff options
context:
space:
mode:
authorJaroslav Hensl <emulator@emulace.cz>2023-09-07 14:34:12 +0200
committerJaroslav Hensl <emulator@emulace.cz>2023-09-07 14:34:12 +0200
commitacde242b61c662d3f234fc051f059fa58875f5fd (patch)
tree63b6a12899bcd6acc4fe64c6b1b1915b87c7df12 /dibcall.c
parent6eb9ffbc6cf3141d59220fee159786f186b65041 (diff)
downloadvmdisp9x-1.2023.0.24.tar.gz
SVGA: config in registry, better locking, HW cursor off by defaultv1.2023.0.24
Diffstat (limited to 'dibcall.c')
-rw-r--r--dibcall.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/dibcall.c b/dibcall.c
index bd37a2e..1ad2cfd 100644
--- a/dibcall.c
+++ b/dibcall.c
@@ -187,6 +187,10 @@ void WINAPI __loadds MoveCursor(WORD absX, WORD absY)
SVGA_MoveCursor(cursorVisible, absX, absY, 0);
SVGAHDA_unlock(LOCK_FIFO);
}
+
+ /* save last position */
+ cursorX = absX;
+ cursorY = absY;
}
else
{
@@ -281,6 +285,13 @@ WORD WINAPI __loadds SetCursor_driver(CURSORSHAPE __far *lpCursor)
}
}
+ /* move cursor to last known position */
+ if(SVGAHDA_trylock(LOCK_FIFO))
+ {
+ SVGA_MoveCursor(cursorVisible, cursorX, cursorY, 0);
+ SVGAHDA_unlock(LOCK_FIFO);
+ }
+
cursorVisible = TRUE;
}
else