Hi,
just started with a fresh wine install from CVS. I've tried to install vc6redistsetup_enu.exe and was not able to select a directory via the browse dialog.
Some regression testing and debugging showed:
before patch http://cvs.winehq.org/patch.py?id=14894 :
trace:shell:BrsFolderDlgProc hwnd=0x1002e msg=0082 0x00000000 0x00000000 trace:shell:SHGetPathFromIDListAW (pidl=0x63f4f5b8,0x100b720) trace:ver:RtlGetVersion <-- Windows 98 (L" A ") trace:shell:SHGetPathFromIDListA (pidl=0x63f4f5b8,0x100b720) -------- pidl=0x63f4f5b8 [0x63f4f5b8] size=0020 type=1f attr=0x00000000 name="{20d04fe0-3aea-1069-a2d8-08002b30309d}" ((null),(null)) [0x63f4f5cc] size=0025 type=23 attr=0x00000000 name="F:" ("F:\",(null)) [0x63f4f5e5] size=0020 type=31 attr=0x00000010 name="temp" ("temp","") trace:pidl:_ILIsValue (0x63f4f5b8) trace:pidl:_ILIsFolder (0x63f4f5b8) trace:pidl:_ILGetGUIDPointer 0x63f4f5b8 trace:pidl:_ILGetGUIDPointer pdata->type 0x001f trace:pidl:_ILIsMyComputer (0x63f4f5b8) trace:pidl:ILGetNext 0x63f4f5b8 trace:pidl:ILGetNext -- 0x63f4f5cc trace:pidl:_ILIsSpecialFolder (0x63f4f5cc) trace:pidl:ILGetNext 0x63f4f5cc trace:pidl:ILGetNext -- 0x63f4f5e5 trace:shell:PathAddBackslashA ("F:\") trace:pidl:_ILIsSpecialFolder (0x63f4f5e5) trace:pidl:ILGetNext 0x63f4f5e5 trace:pidl:ILGetNext -- 0x63f4f5f9 trace:shell:SHELL_GetPathFromIDListA -- F:\temp, 0x00000000
after the patch :
trace:shell:BrsFolderDlgProc hwnd=0x1002e msg=0082 0x00000000 0x00000000 trace:shell:SHGetPathFromIDListAW (pidl=0x77e2dbe8,0x100b720) trace:ver:RtlGetVersion <-- Windows 2000 (L"Service Pack 4") trace:shell:SHGetPathFromIDListW (pidl=0x77e2dbe8,0x3f0472b4) -------- pidl=0x77e2dbe8 [0x77e2dbe8] size=0020 type=1f attr=0x00000000 name="{20d04fe0-3aea-1069-a2d8-08002b30309d}" ((null),(null)) [0x77e2dbfc] size=0025 type=23 attr=0x00000000 name="F:" ("F:\",(null)) [0x77e2dc15] size=0020 type=31 attr=0x00000010 name="temp" ("temp","") trace:pidl:_ILIsValue (0x77e2dbe8) trace:pidl:_ILIsFolder (0x77e2dbe8) trace:pidl:_ILGetGUIDPointer 0x77e2dbe8 trace:pidl:_ILGetGUIDPointer pdata->type 0x001f trace:pidl:_ILIsMyComputer (0x77e2dbe8) trace:pidl:ILGetNext 0x77e2dbe8 trace:pidl:ILGetNext -- 0x77e2dbfc trace:pidl:_ILIsSpecialFolder (0x77e2dbfc) trace:pidl:ILGetNext 0x77e2dbfc trace:pidl:ILGetNext -- 0x77e2dc15 trace:shell:PathAddBackslashW (L"F:\") trace:pidl:_ILIsSpecialFolder (0x77e2dc15) trace:pidl:ILGetNext 0x77e2dc15 trace:pidl:ILGetNext -- 0x77e2dc29 trace:shell:SHELL_GetPathFromIDListW -- L"F:\temp", 0x00000000 trace:shell:SHGetPathFromIDListW -- L"F:\temp", 0x00000000
The main difference (apart from the A/W) is that SHGetPathFromIDListW returns an extra backslash compared to the A-counterpart.
Any idea where to look next ?
Cheers,
Paul.