[RESEND] commdlg: use shell32's ILGetDisplayName instead of SHGetPathFromIDList

Michael Jung mjung at iss.tu-darmstadt.de
Mon May 23 02:23:19 CDT 2005


Reviewing my last patch, which was not accepted, I found that there is a 
ILGetDisplayName function in shell32, which does exactly what we want. So 
this patch uses this function instead of writing one from scratch.

Would you please give me a hint, if this is not the reason for my last patch 
being rejected?

-- Original message:

SHGetPathFromIDList works only for IDLists that use shell32's native binary
format. Therefore it doesn't work with shell namespace extensions. The MSDN
article "How To Support Common Dialog Browsing in a Shell Namespace
Extension" states that "The extension must be able to supply a valid file
system path in response to its IShellFolder::GetDisplayNameOf when
SHGDN_FORPARSING is specified". Therefore calling GetDisplayNameOf should
give the same result as SHGetPathFromIDList for the standard shell folders
(MyComputer, MyDocuments, ...), while in addition being compatible with
namespace extensions. As far as I understand it, the article mentioned above
also states that Microsoft completely switched from SHGetPathFromIDList to
GetDisplayNameOf in win2k's comdlg32 and the office 2k file dialogs.

Changelog:
	Use shell32's ILGetDisplayName instead of SHGetPathFromIDList to be able
to browse shell namespace extensions.

--
Michael Jung
mjung at iss.tu-darmstadt.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dlls_commdlg_filedlg_c.diff
Type: text/x-diff
Size: 7283 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20050523/8249f4d3/dlls_commdlg_filedlg_c.bin


More information about the wine-patches mailing list