Vitaliy Margolen : dinput: Properly increment sequence number for X only movement.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Aug 17 06:30:29 CDT 2007


Module: wine
Branch: master
Commit: c78b8a17fda474e34db5ab7dcb82db382907b50b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c78b8a17fda474e34db5ab7dcb82db382907b50b

Author: Vitaliy Margolen <wine-patches at 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;
             }




More information about the wine-cvs mailing list