From: Vadim Zeitlin Date: Sat, 9 Jun 2007 10:57:25 +0000 (+0000) Subject: fix custom draw bug for controls with only one column (patch 1731024) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/0c1602b8ad0a0e348141287db89c472949b809c9 fix custom draw bug for controls with only one column (patch 1731024) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/msw/listctrl.cpp b/src/msw/listctrl.cpp index db616b8940..f61b3fd9ca 100644 --- a/src/msw/listctrl.cpp +++ b/src/msw/listctrl.cpp @@ -2417,7 +2417,8 @@ static RECT GetCustomDrawnItemRect(const NMCUSTOMDRAW& nmcd) return rc; } -static bool HandleSubItemPrepaint(LPNMLVCUSTOMDRAW pLVCD, HFONT hfont) +static +bool HandleSubItemPrepaint(LPNMLVCUSTOMDRAW pLVCD, HFONT hfont, int colCount) { NMCUSTOMDRAW& nmcd = pLVCD->nmcd; @@ -2432,7 +2433,7 @@ static bool HandleSubItemPrepaint(LPNMLVCUSTOMDRAW pLVCD, HFONT hfont) // get the rectangle to paint RECT rc; ListView_GetSubItemRect(hwndList, item, col, LVIR_BOUNDS, &rc); - if ( !col ) + if ( !col && colCount > 1 ) { // broken ListView_GetSubItemRect() returns the entire item rect for // 0th subitem while we really need just the part for this column @@ -2602,7 +2603,7 @@ static void HandleItemPaint(LPNMLVCUSTOMDRAW pLVCD, HFONT hfont) for ( int col = 0; col < colCount; col++ ) { pLVCD->iSubItem = col; - HandleSubItemPrepaint(pLVCD, hfont); + HandleSubItemPrepaint(pLVCD, hfont, colCount); } HandleItemPostpaint(nmcd);