I will just try to slip this one in. Log message: Test bUnicode and call appropriate DrawText routine.
Index: dlls/comctl32/header.c =================================================================== RCS file: /home/wine/wine/dlls/comctl32/header.c,v retrieving revision 1.43 diff -u -r1.43 header.c --- dlls/comctl32/header.c 2002/02/02 18:06:03 1.43 +++ dlls/comctl32/header.c 2002/03/01 16:51:50 @@ -144,7 +144,7 @@ RECT r; INT oldBkMode; - TRACE("DrawItem(iItem %d bHotTrack %d)\n", iItem, bHotTrack); + TRACE("DrawItem(iItem %d bHotTrack %d unicode flag %d)\n", iItem, bHotTrack, infoPtr->bUnicode); if (!infoPtr->bRectsValid) HEADER_SetItemBounds(hwnd); @@ -239,8 +239,12 @@ GetObjectA (phdi->hbm, sizeof(BITMAP), (LPVOID)&bmp); textRect = r; - DrawTextW (hdc, phdi->pszText, -1, + if (infoPtr->bUnicode) + DrawTextW (hdc, phdi->pszText, -1, &textRect, DT_LEFT|DT_VCENTER|DT_SINGLELINE|DT_CALCRECT); + else + DrawTextA (hdc, (LPCSTR)phdi->pszText, -1, + &textRect, DT_LEFT|DT_VCENTER|DT_SINGLELINE|DT_CALCRECT); tx = textRect.right - textRect.left; ry = r.bottom - r.top; rx = r.right - r.left; @@ -296,7 +300,11 @@ r.left += 3 ; r.right -= 3; SetTextColor (hdc, (bHotTrack) ? COLOR_HIGHLIGHT : COLOR_BTNTEXT); - DrawTextW (hdc, phdi->pszText, -1, + if (infoPtr->bUnicode) + DrawTextW (hdc, phdi->pszText, -1, + &r, uTextJustify|DT_END_ELLIPSIS|DT_VCENTER|DT_SINGLELINE); + else + DrawTextA (hdc, (LPCSTR)phdi->pszText, -1, &r, uTextJustify|DT_END_ELLIPSIS|DT_VCENTER|DT_SINGLELINE); if (oldBkMode != TRANSPARENT) SetBkMode(hdc, oldBkMode);