shell32: Only use the IPersistFolder3 interface for folder PIDLs
Michael Jung
mjung at iss.tu-darmstadt.de
Tue Jul 19 15:30:15 CDT 2005
The helper function SHELL32_CoCreateInitSF initializes an IShellFolder via the
IPersistFolder3 interface, if it is supported (it otherwise falls back to
IPersistFolder). As far as I understand it, this was implemented in order to
support directories mounted at the desktop. To construct the complete path it
calls _ILGetTextPointer on the pidl, which specifies the child. This won't
work for special folder (UUID) pidls. It works with MyComputer only by
incidence, since MyComputer doesn't provide the IPersistFolder3 interface.
Changelog:
Only initialize shell folders via the IPersistFolder3 interface in
SHELL32_CoCreateInitSF if the pidl which specifies the child is of type
'Folder'. Otherwise fall back to IPersistFolder.
Bye,
--
Michael Jung
mjung at iss.tu-darmstadt.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dlls_shell32_shlfolder_c.diff
Type: text/x-diff
Size: 787 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20050719/607ba6d0/dlls_shell32_shlfolder_c.bin
More information about the wine-patches
mailing list