shell32: Implement SHGetPathFromIDList based on GetDisplayNameOf

Vitaliy Margolen wine-devel at kievinfo.com
Thu Jun 23 21:15:59 CDT 2005


Thursday, June 23, 2005, 1:57:27 PM, you wrote:
> Hi Vitaliy,

> On Thursday 23 June 2005 20:57, Vitaliy Margolen wrote:
>> This patch broke shell ParseDisplayName (created call loop) from
>> IShellFolder_ParseDisplayName to SHELL32_ParseNextElement back to
>> IShellFolder_ParseDisplayName

> SHELL32_ParseNextElement consumes one path component each time it's called. So
> this loop should consume the path while it's looping until it eventually hits 
> the tail, in which case IShellFolder_ParseDisplayName won't call 
> SHELL32_ParseNextElement any more.
What I seen is that IShellFolder_ParseDisplayName being called with some path.
It starts from top "Desktop" and calls SHELL32_ParseNextElement. Which in turn
calls IShellFolder_ParseDisplayName with "Desktop". There is nothing that brakes
this circle and wine runs out of stack.

> Do you have a piece of code, or an application which crashes because of this 
> loop? I didn't have any problems with it up to now. Would be cool if I could 
> have a look at the code to find the problem.
shlfolder test will do it right from the start. One more is winecfg: click on
"Add application" button.

I didn't research this problem - don't have time for. Don't know if this is
because I have more drives/more directories then you or something else. My tree
is not modified except not relevant things (GetAttributesOf & shell exec).

I have shell and relay log if you need it.

Vitaliy.




More information about the wine-devel mailing list