<div dir="ltr"><div>> First, it' kinda hard to test for me since my compiled wine for some reason doesn't </div><div>> exhibit this crash - it instead shows an empty window.</div><div>> However, your patch doesn't lead to wine explorer opening the right path - it </div><div>> always opens the Desktop folder. Does that work on your machine?</div><div>> Also, I'm not sure if treating a relative path as unix path is right, it could also be a </div><div>> window path.</div><div><br></div><div>Hi Fabian,</div><div>  thanks for the feedback, for some reason your email didn't come through the list, not sure where it went/what happend. Anyway, you are correct, the original patch didn't work, I was having issues with my fonts and it hid some of the results, I went down the rabbit hole again and came up with a different aproach;  <a href="https://bugs.winehq.org/attachment.cgi?id=60665&action=diff">https://bugs.winehq.org/attachment.cgi?id=60665&action=diff</a></div><div> This sounds like it may not be correct either based on your last sentence there. I'm not much of a Windows user so was unaware of the possibility to use a "window path", how are they formatted? </div><div><br></div><div>To answer your question, yes explorer from git head crashes if run with '.' as a path;</div><div>$ ./wine programs/explorer/<a href="http://explorer.exe.so">explorer.exe.so</a> .<br></div><div>wine: Unhandled page fault on read access to 0x00000008 at address 0x7ec842e2 (thread 002f),</div><div><br></div><div>This is due to the use of an unitialised variable here;</div><div><a href="https://source.winehq.org/git/wine.git/blob/HEAD:/programs/explorer/explorer.c#l255">https://source.winehq.org/git/wine.git/blob/HEAD:/programs/explorer/explorer.c#l255</a></div><div>This sends garbage information in the CBEM_SETITEMW message and causes the crash, it appears to me that the code path in this if statement is never run if a relative path is used, thus never sets main_item;</div><div><a href="https://source.winehq.org/git/wine.git/blob/HEAD:/programs/explorer/explorer.c#l202">https://source.winehq.org/git/wine.git/blob/HEAD:/programs/explorer/explorer.c#l202</a></div><div><br></div><div>I believe that this is because a relative path, ie ../wine, is not a child of ${HOME}/.wine/dosdevices, by forcing it to z:../wine it figures it all out, stops the crash, and shows the correct directory information.</div><div><br></div><div>I'm open to suggestions here for a path forward, I don't know much about the project only that I use it every now and then as was looking to give a little back.</div><div><br></div><div>Cheers.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Mar 4, 2018 at 8:56 PM, Tom Watson <span dir="ltr"><<a href="mailto:coder@tommywatson.com" target="_blank">coder@tommywatson.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Signed-off-by: Tom Watson <<a href="mailto:coder@tommywatson.com" target="_blank">coder@tommywatson.com</a>><div>---</div><div>v2</div><div>Simpler fix, stays out of dll's, assumes that 'z:' is the unix path on all systems? Seems like it as it's hard coded in ntdll?</div><div><br></div><div>dlls/ntdll/server.c:    symlink( "/", "dosdevices/z:" );</div><span class=""><div><br><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Mar 4, 2018 at 3:53 PM, Tom Watson <span dir="ltr"><<a href="mailto:coder@tommywatson.com" target="_blank">coder@tommywatson.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><a href="https://bugs.winehq.org/show_bug.cgi?id=44570" target="_blank">https://bugs.winehq.org/show_b<wbr>ug.cgi?id=44570</a><br></div><div><br></div>Signed-off-by: Tom Watson <<a href="mailto:coder@tommywatson.com" target="_blank">coder@tommywatson.com</a>><br></div>
</blockquote></div><br></div></div></span></div>
</blockquote></div><br></div>