https://bugs.winehq.org/show_bug.cgi?id=16808
--- Comment #18 from Damjan Jovanovic damjan.jov@gmail.com --- The last thing logged before the crash is:
0009:fixme:treeview:TREEVIEW_EndEditLabelNow TREEVIEW_EndLabelEditNow in with no corresponding "out" logged.
That calls the TVN_ENDLABELEDITW callback, which goes to: ON_NOTIFY_REFLECT(TVN_ENDLABELEDIT, OnEndLabelEdit)
which is this method: void CPWTreeCtrl::OnEndLabelEdit(LPNMHDR pnmhdr, LRESULT *pLResult)
In a +relay trace we see that execution re-enters comctrl32, calling TVM_SETITEMW and TVM_GETITEMW some time before crashing. That presumably comes from lines 626-628 in that method:
SetItem(&ptvinfo->item); if (IsLeaf(ptvinfo->item.hItem)) { DWORD_PTR itemData = GetItemData(ti);
Both return successfully, so the crash is somewhere later. The method is pretty long and calls other methods.
It's a pity the application is so difficult to compile.