http://bugs.winehq.com/show_bug.cgi?id=1041
Summary: Unable to select listview entries when LVS_OWNERDATA is used Product: Wine Version: CVS Platform: PC URL: http://xnews.newsguy.com/ OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: wine-gui AssignedTo: wine-bugs@winehq.com ReportedBy: prupe@myrealbox.com
When running Xnews 5.08.12, I am unable to select anything in any of the listview controls (such as the newsgroup list), either by mouse or keyboard. Going back in CVS, it seems the problem first appeared in dlls/comctl32/listview.c 1.144. I have compared log files with -debugmsg +listview between 1.143 and the latest (1.152):
egrep -i '(LButton|HitTest|Selection)' 1.152.log trace:listview:LISTVIEW_LButtonDown (key=1, X=544, Y=31) trace:listview:LISTVIEW_RemoveAllSelections () trace:listview:LISTVIEW_HitTestItem (x=544, y=31) trace:listview:LISTVIEW_SuperHitTestItem (x=544, y=31) trace:listview:LISTVIEW_SuperHitTestItem no hit, closest item -1, distance 2147483647 (many similar lines deleted)
In 1.152, the execution path is LISTVIEW_SuperHitTestItem -> LISTVIEW_GetItemRect -> LISTVIEW_GetAllMeasure. The last one fails at if (!(hdpaSubItems = (HDPA)DPA_GetPtr(infoPtr->hdpaItems, nItem))) return FALSE; The pointer was never set because the window style contains LVS_OWNERDATA, which causes set_main_item and set_sub_item to skip the calls to DPA_InsertPtr.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://bugs.winehq.com/show_bug.cgi?id=1041. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.