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