Module: wine Branch: master Commit: 3febb462373db015ecbe02ae9716d11d99dea6b0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3febb462373db015ecbe02ae97...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Mon May 16 22:03:55 2016 +0300
comctl32/listview: Hit test data pointer is never NULL when sending LVN_ITEMACTIVATE.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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); }