[PATCH] comctl32/listview: Hit test data pointer is never NULL when sending LVN_ITEMACTIVATE

Nikolay Sivov nsivov at codeweavers.com
Mon May 16 14:03:55 CDT 2016


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/comctl32/listview.c | 47 +++++++++++++++++++++++------------------------
 1 file changed, 23 insertions(+), 24 deletions(-)

diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index 38c376c..b922ef7 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -844,31 +844,30 @@ static inline void notify_itemactivate(const LISTVIEW_INFO *infoPtr, const LVHIT
     NMITEMACTIVATE nmia;
     LVITEMW item;
 
-    if (htInfo) {
-      nmia.uNewState = 0;
-      nmia.uOldState = 0;
-      nmia.uChanged  = 0;
-      nmia.uKeyFlags = 0;
-      
-      item.mask = LVIF_PARAM|LVIF_STATE;
-      item.iItem = htInfo->iItem;
-      item.iSubItem = 0;
-      item.stateMask = (UINT)-1;
-      if (LISTVIEW_GetItemT(infoPtr, &item, TRUE)) {
-	  nmia.lParam = item.lParam;
- 	  nmia.uOldState = item.state;
-	  nmia.uNewState = item.state | LVIS_ACTIVATING;
-	  nmia.uChanged  = LVIF_STATE;
-      }
-      
-      nmia.iItem = htInfo->iItem;
-      nmia.iSubItem = htInfo->iSubItem;
-      nmia.ptAction = htInfo->pt;     
-      
-      if (GetKeyState(VK_SHIFT) & 0x8000) nmia.uKeyFlags |= LVKF_SHIFT;
-      if (GetKeyState(VK_CONTROL) & 0x8000) nmia.uKeyFlags |= LVKF_CONTROL;
-      if (GetKeyState(VK_MENU) & 0x8000) nmia.uKeyFlags |= LVKF_ALT;
+    nmia.uNewState = 0;
+    nmia.uOldState = 0;
+    nmia.uChanged  = 0;
+    nmia.uKeyFlags = 0;
+
+    item.mask = LVIF_PARAM|LVIF_STATE;
+    item.iItem = htInfo->iItem;
+    item.iSubItem = 0;
+    item.stateMask = (UINT)-1;
+    if (LISTVIEW_GetItemT(infoPtr, &item, TRUE)) {
+        nmia.lParam = item.lParam;
+        nmia.uOldState = item.state;
+        nmia.uNewState = item.state | LVIS_ACTIVATING;
+        nmia.uChanged  = LVIF_STATE;
     }
+
+    nmia.iItem = htInfo->iItem;
+    nmia.iSubItem = htInfo->iSubItem;
+    nmia.ptAction = htInfo->pt;
+
+    if (GetKeyState(VK_SHIFT) & 0x8000) nmia.uKeyFlags |= LVKF_SHIFT;
+    if (GetKeyState(VK_CONTROL) & 0x8000) nmia.uKeyFlags |= LVKF_CONTROL;
+    if (GetKeyState(VK_MENU) & 0x8000) nmia.uKeyFlags |= LVKF_ALT;
+
     notify_hdr(infoPtr, LVN_ITEMACTIVATE, (LPNMHDR)&nmia);
 }
 
-- 
2.8.1




More information about the wine-patches mailing list