Dmitry Timoshkov : user32: Make sure that SendInput always initializes the time field.

Alexandre Julliard julliard at winehq.org
Wed Sep 22 14:47:52 CDT 2010


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

Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date:   Wed Sep 22 15:49:45 2010 +0900

user32: Make sure that SendInput always initializes the time field.

---

 dlls/user32/input.c         |    4 ++--
 dlls/winex11.drv/keyboard.c |    2 ++
 dlls/winex11.drv/mouse.c    |    2 ++
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index 0dccf21..6e1e459 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -167,7 +167,7 @@ void WINAPI keybd_event( BYTE bVk, BYTE bScan,
     input.u.ki.wVk = bVk;
     input.u.ki.wScan = bScan;
     input.u.ki.dwFlags = dwFlags;
-    input.u.ki.time = GetTickCount();
+    input.u.ki.time = 0;
     input.u.ki.dwExtraInfo = dwExtraInfo;
     SendInput( 1, &input, sizeof(input) );
 }
@@ -186,7 +186,7 @@ void WINAPI mouse_event( DWORD dwFlags, DWORD dx, DWORD dy,
     input.u.mi.dy = dy;
     input.u.mi.mouseData = dwData;
     input.u.mi.dwFlags = dwFlags;
-    input.u.mi.time = GetCurrentTime();
+    input.u.mi.time = 0;
     input.u.mi.dwExtraInfo = dwExtraInfo;
     SendInput( 1, &input, sizeof(input) );
 }
diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
index 02fd6bb..d6054d6 100644
--- a/dlls/winex11.drv/keyboard.c
+++ b/dlls/winex11.drv/keyboard.c
@@ -1158,6 +1158,8 @@ void X11DRV_send_keyboard_input( WORD wVk, WORD wScan, DWORD event_flags, DWORD
     WORD flags, wVkStripped, wVkL, wVkR, vk_hook = wVk;
     LPARAM lParam = 0;
 
+    if (!time) time = GetTickCount();
+
     wVk = LOBYTE(wVk);
     flags = LOBYTE(wScan);
 
diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
index cf988c9..922df65 100644
--- a/dlls/winex11.drv/mouse.c
+++ b/dlls/winex11.drv/mouse.c
@@ -345,6 +345,8 @@ void X11DRV_send_mouse_input( HWND hwnd, DWORD flags, DWORD x, DWORD y,
 {
     POINT pt;
 
+    if (!time) time = GetTickCount();
+
     if (flags & MOUSEEVENTF_MOVE && flags & MOUSEEVENTF_ABSOLUTE)
     {
         if (injected_flags & LLMHF_INJECTED)




More information about the wine-cvs mailing list