http://bugs.winehq.org/show_bug.cgi?id=8072
------- Additional Comments From focht@gmx.net 2007-23-04 09:43 ------- Created an attachment (id=5909) --> (http://bugs.winehq.org/attachment.cgi?id=5909&action=view) crash analysis
Hello,
interesting callstack ... completely messed up :)
Basically the IAT entry for a specific shell32 call is invalid/not defined.
Native comdlg32 calls a specific import but due to invalid IAT entry, a different import is called which has other arguments signature (DllRegisterServer()). This messes up callstack which renders crash dump unusable.
Attached is full analysis.
SHMapIDListToImageListIndexAsync() is the problematic one, it's missing from shell32.spec.
Add the following
--- snip dlls/shell32/shell32.spec --- 148 stdcall -noname SHMapIDListToImageListIndexAsync( ptr ptr ptr long ptr ptr ptr ptr ptr) --- snip dlls/shell32/shell32.spec ---
and minimal stub impl (after SHMapPIDLToSystemImageListIndex [SHELL32.77])
--- snip dlls/shell32/iconcache.c --- HRESULT WINAPI SHMapIDListToImageListIndexAsync( IUnknown * pts, IShellFolder * psf, LPCITEMIDLIST pidl, UINT flags, void * pfn, void * pvData, void * pvHint, int * piIndex, int * piIndexSel) { /* pts is IShellTaskScheduler */ /* pfn is PFNASYNCICONTASKBALLBACK */ TRACE("(%p, %p, %p, %u, %p, %p, %p, %p, %p)\n", pts, psf, pidl, flags, pfn, pvData, pvHint, piIndex, piIndexSel);
return E_FAIL; } --- snip dlls/shell32/iconcache.c ---
If you get more crashes, feel free to post/bug report.
Regards