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