http://bugs.winehq.org/show_bug.cgi?id=20637
--- Comment #32 from Rico kgbricola@web.de 2012-03-26 07:23:59 CDT --- Every line before an empty line is not shown.
For a normal line which is shown, creation is done like: LISTVIEW_InsertItemT(); LISTVIEW_SetItemTextT(); optionally for further subitems LISTVIEW_SetItemTextT();
For an empty line, only: LISTVIEW_InsertItemT();
Somehow it looks like later in the draw call, the last lines (before the empty ones) doesn't have subitems: LISTVIEW_GetItemT() -> LISTVIEW_GetSubItemPtr() fails for those where an empty line follows.
Some speculation, a test may show the problem: It looks like the subitems are attached to the "empty" line, thus the "last" line main item has no subitems, but attached are subitems. It also looks like this might be off by one.
With a debug output in LISTVIEW_GetItemT like: FIXME("(lpLVItem=%s, isW=%d) %p %u/%u\n", debuglvitem_t(lpLVItem, isW), isW, lpSubItem, isubitem, DPA_GetPtrCount(hdpaSubItems));
The following shows up: ... --snip-- trace:listview:LISTVIEW_SetItemTextT (nItem=3, lpLVItem={iItem=3, iSubItem=1, pszText="3DMARK2001 PROJECT FILE", cchTextMax=1023}, isW=0) trace:listview:LISTVIEW_SetItemTextT (nItem=5, lpLVItem={iItem=5, iSubItem=1, pszText="PROJECT", cchTextMax=1023}, isW=0) trace:listview:LISTVIEW_SetItemTextT (nItem=6, lpLVItem={iItem=6, iSubItem=1, pszText="Name", cchTextMax=4}, isW=0) trace:listview:LISTVIEW_SetItemTextT (nItem=6, lpLVItem={iItem=6, iSubItem=2, pszText="My Benchmark", cchTextMax=1023}, isW=0) trace:listview:LISTVIEW_SetItemTextT (nItem=7, lpLVItem={iItem=7, iSubItem=1, pszText="Description", cchTextMax=11}, isW=0) trace:listview:LISTVIEW_SetItemTextT (nItem=7, lpLVItem={iItem=7, iSubItem=2, pszText="", cchTextMax=1023}, isW=0) trace:listview:LISTVIEW_SetItemTextT (nItem=8, lpLVItem={iItem=8, iSubItem=1, pszText="Registration Name", cchTextMax=17}, isW=0) trace:listview:LISTVIEW_SetItemTextT (nItem=8, lpLVItem={iItem=8, iSubItem=2, pszText="", cchTextMax=1023}, isW=0) trace:listview:LISTVIEW_SetItemTextT (nItem=9, lpLVItem={iItem=9, iSubItem=1, pszText="Registration Key", cchTextMax=16}, isW=0) trace:listview:LISTVIEW_SetItemTextT (nItem=9, lpLVItem={iItem=9, iSubItem=2, pszText="", cchTextMax=1023}, isW=0) trace:listview:LISTVIEW_SetItemTextT (nItem=10, lpLVItem={iItem=10, iSubItem=1, pszText="3DMark Version", cchTextMax=14}, isW=0) trace:listview:LISTVIEW_SetItemTextT (nItem=10, lpLVItem={iItem=10, iSubItem=2, pszText="330", cchTextMax=1023}, isW=0) trace:listview:LISTVIEW_SetItemTextT (nItem=12, lpLVItem={iItem=12, iSubItem=1, pszText="DISPLAY", cchTextMax=1023}, isW=0) --snip-- ... --snip-- fixme:listview:LISTVIEW_GetItemT (lpLVItem={iItem=4, iSubItem=1, pszText=L"3DMARK2001 PROJECT FILE", cchTextMax=260}, isW=1) (nil) 1/1 fixme:listview:LISTVIEW_GetItemT (lpLVItem={iItem=5, iSubItem=1, pszText=L"", cchTextMax=260}, isW=1) 0x177fd60 1/2 fixme:listview:LISTVIEW_GetItemT (lpLVItem={iItem=6, iSubItem=1, pszText=L"PROJECT", cchTextMax=260}, isW=1) 0x177fe48 1/3 fixme:listview:LISTVIEW_GetItemT (lpLVItem={iItem=7, iSubItem=1, pszText=L"Name", cchTextMax=260}, isW=1) 0x177ff48 1/3 fixme:listview:LISTVIEW_GetItemT (lpLVItem={iItem=8, iSubItem=1, pszText=L"Description", cchTextMax=260}, isW=1) 0x1780068 1/3 fixme:listview:LISTVIEW_GetItemT (lpLVItem={iItem=9, iSubItem=1, pszText=L"Registration Name", cchTextMax=260}, isW=1) 0x17801a8 1/3 fixme:listview:LISTVIEW_GetItemT (lpLVItem={iItem=10, iSubItem=1, pszText=L"Registration Key", cchTextMax=260}, isW=1) 0x17802e8 1/3 fixme:listview:LISTVIEW_GetItemT (lpLVItem={iItem=11, iSubItem=1, pszText=L"3DMark Version", cchTextMax=260}, isW=1) (nil) 1/1 fixme:listview:LISTVIEW_GetItemT (lpLVItem={iItem=12, iSubItem=1, pszText=L"", cchTextMax=260}, isW=1) 0x1780500 1/2 --snip-- ...