Nikolay Sivov (@nsivov) commented about dlls/comctl32/listview.c:
/* narrow down the columns we need to paint */ for(col = 0; col < DPA_GetPtrCount(infoPtr->hdpaColumns); col++) {
INT index = SendMessageW(infoPtr->hwndHeader, HDM_ORDERTOINDEX, col, 0);COLUMN_INFO* col_info;
- LISTVIEW_GetHeaderRect(infoPtr, index, &rcItem);
- if ((rcItem.right + Origin.x >= rcClip.left) && (rcItem.left + Origin.x < rcClip.right))
col_info = DPA_GetPtr(infoPtr->hdpaColumns, index);
SendMessageW(infoPtr->hwndHeader, HDM_GETITEMRECT, index, (LPARAM)&col_info->rcHeader);
}if ((col_info->rcHeader.right + Origin.x >= rcClip.left) && (col_info->rcHeader.left + Origin.x < rcClip.right)) ranges_additem(colRanges, index);
GetHeaderRect() is used in many places, changing one of them will likely cause inconsistencies.