user32: Fix read of uninitialized data and a couple of typos in TrackMouseEvent. (Valgrind) (try 2)

Alexander Scott-Johns alexander.scott.johns at googlemail.com
Thu Feb 17 09:44:19 CST 2011


try2: Avoid reading ptme->dwHoverTime at all if TME_HOVER is not set.

Fixes the obvious typo of ptme->dwHoverTime for ptme->dwFlags.
Don't read ptme->dwHoverTime at all if the flag TME_HOVER is not set,
as it may be garbage.

Found with Valgrind.
-------------- next part --------------
From f15cea3f7ea1fdea729257dc7149ba99cfcb5b74 Mon Sep 17 00:00:00 2001
From: Alexander Scott-Johns <alexander.scott.johns at googlemail.com>
Date: Wed, 16 Feb 2011 01:09:35 +0000
Subject: [PATCH] user32: Fix read of uninitialized data and a couple of typos in TrackMouseEvent. (Valgrind)

---
 dlls/user32/input.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index 4fd00ba..162c155 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -1106,11 +1106,11 @@ TrackMouseEvent (TRACKMOUSEEVENT *ptme)
         return FALSE;
     }
 
-    hover_time = ptme->dwHoverTime;
+    hover_time = (ptme->dwFlags & TME_HOVER) ? ptme->dwHoverTime : HOVER_DEFAULT;
 
-    /* if HOVER_DEFAULT was specified replace this with the systems current value.
+    /* if HOVER_DEFAULT was specified replace this with the system's current value.
      * TME_LEAVE doesn't need to specify hover time so use default */
-    if (hover_time == HOVER_DEFAULT || hover_time == 0 || !(ptme->dwHoverTime&TME_HOVER))
+    if (hover_time == HOVER_DEFAULT || hover_time == 0)
         SystemParametersInfoW(SPI_GETMOUSEHOVERTIME, 0, &hover_time, 0);
 
     GetCursorPos(&pos);
-- 
1.7.0.4


More information about the wine-patches mailing list