aboutsummaryrefslogtreecommitdiffstats
path: root/src/ginput/mouse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ginput/mouse.c')
-rw-r--r--src/ginput/mouse.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ginput/mouse.c b/src/ginput/mouse.c
index 35a55bc5..94734888 100644
--- a/src/ginput/mouse.c
+++ b/src/ginput/mouse.c
@@ -378,6 +378,10 @@ GSourceHandle ginputGetMouse(uint16_t instance) {
}
bool_t ginputGetMouseStatus(uint16_t instance, GEventMouse *pe) {
+ // Win32 threads don't seem to recognise priority and/or pre-emption
+ // so we add a sleep here to prevent 100% polled applications from locking up.
+ chThdSleepMilliseconds(1);
+
if (instance || (MouseConfig.flags & (FLG_INIT_DONE|FLG_IN_CAL)) != FLG_INIT_DONE)
return FALSE;