Re: drive list is not refreshed in winecfg, no more disk label

2009-06-23 Thread Joerg-Cyril.Hoehle
Hi,

I've just submitted a patch to fix this bug, #19045. This issue is caused by 
commit f7e6777e6e19ca3be4b84f98baf22ef53ab19f96
Author: Guy Albertelli galbe...@neo.rr.com
Date:   29.04.2009 03:08:22
Follows: wine-1.1.20 (Release 1.1.20.)
kernel32: Fix GetVolumeInformation[AW] to require trailing \.

I spotted three places where I added a trailing \ (one of them obviously in 
winecfg).

However, there are more calls to GetVolumeInformation in the source. They need 
a review because it was not obvious to me whether they supplied the required 
trailing backslash, e.g.
int21.c:3234 /* LONG FILENAME - GET VOLUME INFORMATION */
... see below
Others, like in shell32/shellpath.c are just pass-through, so the callers need 
be reviewed.

So I invite interested parties to check the calls to GetVolumeInformation in 
the wine source to assess whether the callers provide the \.
Otherwise, please submit a patch.

In the annoated output of grep below, pass means pass-through; review 
please; and ok means I found the code to be either fine or fixed by my patch.

pass./dlls/msi/media.c:56:if (!GetVolumeInformationW(source_root, 
volume_name, MAX_PATH + 1,
review  ./dlls/shell32/shfldr_mycomp.c:711:
GetVolumeInformationW (pszPath, wszDrive,
pass./dlls/shell32/shellpath.c:453:if (!GetVolumeInformationA(lpszPath, 
NULL, 0, NULL, fnlen, NULL, NULL, 0))
pass./dlls/shell32/shellpath.c:465:if (!GetVolumeInformationW(lpszPath, 
NULL, 0, NULL, fnlen, NULL, NULL, 0))
pass./dlls/user32/network.c:194:GetVolumeInformationA( lpLocalName, 
label, sizeof(label), NULL, NULL, NULL, NULL, 0 );
ok  ./dlls/winedos/int21.c:2608:
GetVolumeInformationW(drivespec, label, 12, serial, NULL, NULL, fsname, 9);
review ./dlls/winedos/int21.c:3234:if (!GetVolumeInformationW( 
pathW, NULL, 0, NULL, filename_len,
ok  ./dlls/winedos/int21.c:3426:if (!GetVolumeInformationW( path, 
label, 11, serial, NULL, NULL, NULL, 0))
ok  ./dlls/winedos/int21.c:3884:if (!GetVolumeInformationW(path, 
entry-cAlternateFileName, 13, NULL, NULL, NULL, NULL, 0)) return 0;
ok  ./dlls/kernel32/tests/volume.c:... tests assumed ok
./dlls/kernel32/volume.c:507:BOOL WINAPI GetVolumeInformationW( LPCWSTR 
root, LPWSTR label, DWORD label_len,
./dlls/kernel32/volume.c:628:BOOL WINAPI GetVolumeInformationA( LPCSTR 
root, LPSTR label,
ok  ./dlls/kernel32/volume.c:642:if ((ret = 
GetVolumeInformationW(rootW, labelW, label_len, serial,
ok  ./dlls/shell32/shelllink.c:2154:r = GetVolumeInformationW(drive, 
volume-label, label_sz,
ok  ./programs/cmd/builtins.c:2482:status = GetVolumeInformation (NULL, 
label, sizeof(label)/sizeof(WCHAR),
ok  ./programs/cmd/builtins.c:2492:status = GetVolumeInformation 
(curdir, label, sizeof(label)/sizeof(WCHAR),
ok  ./programs/winefile/winefile.c:1402:GetVolumeInformation(drv, 
root-volname, _MAX_FNAME, 0, 0, root-fs_flags, root-fs, _MAX_DIR);
ok  ./programs/winecfg/drive.c:287:if (!GetVolumeInformationW( 
root, volname, sizeof(volname)/sizeof(WCHAR),

Regards,
Jörg Höhle




Re: drive list is not refreshed in winecfg, no more disk label

2009-06-17 Thread André Hentschel

joerg-cyril.hoe...@t-systems.com schrieb:

Hi,
[resend, 1st message disappeared?]

since somewhere between wine-1.1.6 and 1.1.21, going to winecfg's drives tab 
does not (re)scan all drives such as CD-ROMs anymore. So access to the tab is 
faster, but winecfg does not display the disk label (shown empty) and serial 
number (always 0) any more.

wine cmd - dir D: still lists a disk's label and serial number.

Did I miss a voluntary change or shall I file a regression?

I'm not aware that my compilation setup may have changed. hal+dbus-dev have 
been there for ages.

Thanks,
 Jörg Höhle




Maybe some of these commits did this:

http://source.winehq.org/git/wine.git/?a=commitdiff;h=cda8e4410ace2616fdabde7cebaad3bdeacbbf1f
http://source.winehq.org/git/wine.git/?a=commitdiff;h=abe00bbebe6c64df9d54038b8f7a2a1d1bddbe1f
http://source.winehq.org/git/wine.git/?a=commitdiff;h=18b66912b7f0c27cf5caca6c26295b9c915f6cfe
http://source.winehq.org/git/wine.git/?a=commitdiff;h=6483f2f201c15b650c5e0e1996cf40d2bb6e057f
http://source.winehq.org/git/wine.git/?a=commitdiff;h=f150ddc3ed5ce35fb06f5bd9daf2c40835c94dce
http://source.winehq.org/git/wine.git/?a=commitdiff;h=f410cf7c98aa60b7d6beb418b2a342466f4c8ea3

specially the second one may have caused it. can you make a regression test?

Best Regards André Hentschel