[COMCTL32] TreeView: Fix selection display on checking checkbox (#6608)

Fix checkboxed treeview selection display.
JIRA issue: CORE-19480
- Make the first argument of TREEVIEW_ToggleItemState non-const.
- Select the item by calling TREEVIEW_SelectItem in TREEVIEW_ToggleItemState.
This commit is contained in:
Katayama Hirofumi MZ 2024-03-12 18:49:52 +09:00 committed by GitHub
parent afd39cbc06
commit bbc455f77c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2334,8 +2334,18 @@ TREEVIEW_GetCount(const TREEVIEW_INFO *infoPtr)
return (LRESULT)infoPtr->uNumItems;
}
#ifdef __REACTOS__
static LRESULT
TREEVIEW_SelectItem(TREEVIEW_INFO *infoPtr, INT wParam, HTREEITEM item);
#endif
#ifdef __REACTOS__
static VOID
TREEVIEW_ToggleItemState(TREEVIEW_INFO *infoPtr, TREEVIEW_ITEM *item)
#else
static VOID
TREEVIEW_ToggleItemState(const TREEVIEW_INFO *infoPtr, TREEVIEW_ITEM *item)
#endif
{
if (infoPtr->dwStyle & TVS_CHECKBOXES)
{
@ -2353,6 +2363,9 @@ TREEVIEW_ToggleItemState(const TREEVIEW_INFO *infoPtr, TREEVIEW_ITEM *item)
item->state |= INDEXTOSTATEIMAGEMASK(state);
TRACE("state: 0x%x\n", state);
#ifdef __REACTOS__
TREEVIEW_SelectItem(infoPtr, TVGN_CARET, item);
#endif
TREEVIEW_Invalidate(infoPtr, item);
}
}