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

Dmitry Timoshkov dmitry at codeweavers.com
Wed Sep 22 01:49:45 CDT 2010


This patch should fix the problem reported in the bug 24435.
---
 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)
-- 
1.7.0.6




More information about the wine-patches mailing list