From ec42ea4dfb0b20b404b657c97ed95093288f7df0 Mon Sep 17 00:00:00 2001 From: Jukka Heinonen Date: Fri, 29 Aug 2003 22:13:27 +0000 Subject: [PATCH] Workaround implemented for passing faked mickeys to mouse callback routine. --- dlls/winedos/int33.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/dlls/winedos/int33.c b/dlls/winedos/int33.c index 32c436607b6..7261a31ba17 100644 --- a/dlls/winedos/int33.c +++ b/dlls/winedos/int33.c @@ -205,6 +205,17 @@ static void QueueMouseRelay(DWORD mx, DWORD my, WORD mask) data->but = mouse_info.but; data->x = mouse_info.x; data->y = mouse_info.y; + + /* + * Fake mickeys. + * + * FIXME: This is not entirely correct. If mouse if moved to the edge + * of the screen, mouse will stop moving and mickeys won't + * be updated even though they should be. + */ + data->mx = mouse_info.x * (mouse_info.HMPratio / 8); + data->my = mouse_info.y * (mouse_info.VMPratio / 8); + DOSVM_QueueEvent(-1, DOS_PRIORITY_MOUSE, MouseRelay, data); } }