http://bugs.winehq.org/show_bug.cgi?id=22247
--- Comment #2 from Andrew Nguyen arethusa26@gmail.com 2010-04-03 01:52:25 --- Created an attachment (id=27172) --> (http://bugs.winehq.org/attachment.cgi?id=27172) wininet: Pass URL_FILE_USE_PATHURL to UrlCanonicalize in InternetCanonicalizeUrl (proposed)
The problem looks to be that wininet.InternetCanonicalizeUrlW returns the wrong thing for a Windows path:
0023:Call wininet.InternetCanonicalizeUrlW(027013d8 L"C:/users/arethusa/My Documents/Untitled.dae",02701a00,0e01e168,30000000) ret=0de2460c 0023:Call shlwapi.UrlCanonicalizeW(027013d8 L"C:/users/arethusa/My Documents/Untitled.dae",02701a00,0e01e168,90000000) ret=6866e21b ... 0023:Call KERNEL32.lstrlenW(050742d0 L"file:///C:/users/arethusa/My Documents/Untitled.dae") ret=6870ed89 0023:Ret KERNEL32.lstrlenW() retval=00000031 ret=6870ed89 ... 0023:Ret shlwapi.UrlCanonicalizeW() retval=00000000 ret=6866e21b 0023:Ret wininet.InternetCanonicalizeUrlW() retval=00000001 ret=0de2460c ... 0023:Call KERNEL32.CopyFileW(02a0ba38 L"C:/users/arethusa/Temp/temp.dae",02701a00 L"/C:/users/anhdao/My%20Documents/Untitled.dae",00000000) ret=0de08b21 0023:Ret KERNEL32.CopyFileW() retval=00000000 ret=0de08b21
InternetCanonicalizeUrlW prefixes the path with file:/// instead of file:// as SketchUp expects, so it ends up leaving a stray slash character in the file path, eventually resulting in failure in the file copy operation. The attached patch should fix the problem, but I'm not sure it's entirely correct.