In main.c Item is bogus in x64.
static BOOL Main_OnNotify(HWND hwnd, INT id, LPNMHDR pnm)
{
...
LPPROPGRIDITEM Item = PropGrid_GetItemData(pnm->hwndFrom, lpnmp->iIndex);
problem was (DWORD) cast in PropGrid_GetItemData macro/// @returns A pointer to a PROPGRIDITEM object.
#define PropGrid_GetItemData(hwndCtl,index) ((LPPROPGRIDITEM)SendMessage((hwndCtl),LB_GETITEMDATA,(WPARAM)(int)(index),0))
In propertyGrid.c line 4171 wrong cast (DWORD)
case WM_DESTROY: //Unsubclass the listbox Control
{
SetWindowLongPtr(hList, GWLP_WNDPROC,
(DWORD_PTR)GetProp(hList, WPRC));
RemoveProp(hList, WPRC);
return 0;
}
and in line 838, 966, 1139, 1257, 1510 SetWindowLongPtr(hwnd, GWLP_WNDPROC, (DWORD_PTR)GetProp(hwnd, WPRC));