Module: wine Branch: master Commit: c78b8a17fda474e34db5ab7dcb82db382907b50b URL: http://source.winehq.org/git/wine.git/?a=commit;h=c78b8a17fda474e34db5ab7dcb...
Author: Vitaliy Margolen wine-patches@kievinfo.com Date: Thu Aug 16 23:51:32 2007 -0600
dinput: Properly increment sequence number for X only movement.
---
dlls/dinput/mouse.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/dlls/dinput/mouse.c b/dlls/dinput/mouse.c index eeada11..4564673 100644 --- a/dlls/dinput/mouse.c +++ b/dlls/dinput/mouse.c @@ -279,11 +279,16 @@ static void dinput_mouse_hook( LPDIRECTINPUTDEVICE8A iface, WPARAM wparam, LPARA pt1 = pt;
if (pt.x) - queue_event((LPDIRECTINPUTDEVICE8A)This, id_to_offset(&This->base.data_format, - DIDFT_MAKEINSTANCE(WINE_MOUSE_X_AXIS_INSTANCE) | DIDFT_RELAXIS), - pt1.x, hook->time, This->base.dinput->evsequence); + { + inst_id = DIDFT_MAKEINSTANCE(WINE_MOUSE_X_AXIS_INSTANCE) | DIDFT_RELAXIS; + wdata = pt1.x; + } if (pt.y) { + /* Already have X, need to queue it */ + if (inst_id != -1) + queue_event((LPDIRECTINPUTDEVICE8A)This, id_to_offset(&This->base.data_format, inst_id), + wdata, hook->time, This->base.dinput->evsequence); inst_id = DIDFT_MAKEINSTANCE(WINE_MOUSE_Y_AXIS_INSTANCE) | DIDFT_RELAXIS; wdata = pt1.y; }