[Bug 8421] Disk Explorer Pro 3.60 crashes when browsing or searching

Wine Bugs wine-bugs at winehq.org
Thu May 17 13:24:18 CDT 2007


http://bugs.winehq.org/show_bug.cgi?id=8421





------- Additional Comments From focht at gmx.net  2007-17-05 13:24 -------
Hello,

very nice app .. good to manage all kinds of collections *g*

For the crash ... i'm pretty sure it's a listview bug though i couldnt pin down
the exact cause yet.
Run with WINEDEBUG=+listview and click one of the treeview nodes in left pane
(below root node).
In Windows the listview is rebuilt with new items (depending on context).
In Wine you can see the first row headers flashing before it crashes in
notify_dispinfoT() callback (dlls/comctl32/listview.c).
The client (app) accesses garbage data at that point (listview items empty)

For testing purposes i added exception handler to guard callback:

--- snip dlls/comctl32/listview.c ---
static BOOL notify_dispinfoT(const LISTVIEW_INFO *infoPtr, INT notificationCode,
LPNMLVDISPINFOW pdi, BOOL isW)
{
   ...
   if (infoPtr->notifyFormat == NFR_ANSI)
	realNotifCode = get_ansi_notification(notificationCode);
    else
	realNotifCode = notificationCode;
    TRACE(" pdi->item=%s\n", debuglvitem_t(&pdi->item, infoPtr->notifyFormat !=
NFR_ANSI));

    __TRY
    {
         bResult = notify_hdr(infoPtr, realNotifCode, &pdi->hdr);
    }
    __EXCEPT_PAGE_FAULT
    {
        DWORD dwExceptionCode = GetExceptionCode();
        ERR("notify_hdr call failed with exception 0x%08x (%d)\n",
dwExceptionCode, dwExceptionCode);
    }
    __ENDTRY 
 ...

}
--- snip dlls/comctl32/listview.c ---

The interesting thing is: with that callback guard, exceptions get thrown but
later the listview gets properly rebuilt and displayed (like windows, after
"second wave" of notifications).

Should be enough information for listview maintainer to hunt this thing down.

Regards  


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list