winefile: Fix absolute pidl conversion for non-filesystem shell objects

Owen Rudge owen at owenrudge.net
Fri Jul 25 18:34:15 CDT 2008


This patch allows control panel applets to be launched from winefile - 
previously, an error message "file not found" would be displayed. This 
patch should also fix the execution of any other non-filesystem shell 
objects in the shell view of winefile. (Note that this bug would 
manifest itself not only on Wine, but on Windows too.)

To be more specific, the existing get_to_absolute_pidl function 
effectively converts the pidl representing a shell object to a path, and 
then uses IShellFolder_ParseDisplayName to get an "absolute" pidl back. 
This is fine for filesystem objects, but obviously fails on 
non-filesystem objects. As it happens, there's no real need for it to do 
this anyway, as we can simply traverse back in the directory tree 
(entry->up) to construct the pidl ourselves, which is what this patch does.

---
  programs/winefile/winefile.c |   18 ++++++------------
  1 files changed, 6 insertions(+), 12 deletions(-)

-- 
Owen Rudge
http://www.owenrudge.net/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 708221d97fa4f2b6cb596e851a68c524e0c88360.diff
Type: text/x-patch
Size: 939 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080726/8f9823cd/attachment.bin 


More information about the wine-patches mailing list