diff --git a/dll/win32/comctl32/treeview.c b/dll/win32/comctl32/treeview.c index d3066d72e2a..945084d60bf 100644 --- a/dll/win32/comctl32/treeview.c +++ b/dll/win32/comctl32/treeview.c @@ -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); } }