http://bugs.winehq.com/show_bug.cgi?id=924
------- Additional Comments From dclark@akamail.com 2002-08-10 12:42 ------- This problem is being caused by this short bit of code in the function SHGetFileInfoA(). This function starts by setting pidl to null. Then WinZip calls this function with the flags 0x4115, which includes SHGFI_USEFILEATTRIBUTES but not SHGFI_PIDL. With that combination of flags, this short bit of code will always fail (return FALSE).
if (flags & SHGFI_PIDL) { pidl = ILClone((LPCITEMIDLIST)path); } else if (!(flags & SHGFI_USEFILEATTRIBUTES)) { hr = SHILCreateFromPathA(path, &pidl, &dwAttributes); }
/* get the parent shellfolder */ if (pidl) { hr = SHBindToParent( pidl, &IID_IShellFolder, (LPVOID*)&psfParent, &pidlLast); ILFree(pidl); } else { ERR("pidl is null!\n"); return FALSE; }
Changing that last "else" to: } else if (!(flags & SHGFI_USEFILEATTRIBUTES)) {
fixes this.
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=924. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.