wine/dlls/shell32 brsfolder.c
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Nov 7 14:11:27 CST 2005
ChangeSet ID: 21143
CVSROOT: /opt/cvs-commit
Module name: wine
Changes by: julliard at winehq.org 2005/11/07 14:11:27
Modified files:
dlls/shell32 : brsfolder.c
Log message:
Michael Jung <mjung at iss.tu-darmstadt.de>
More robust code for querying ShellFolder attributes (some
ShellFolders ignore the flag mask in GetAttributesOf).
Patch: http://cvs.winehq.org/patch.py?id=21143
Old revision New revision Changes Path
1.64 1.65 +5 -2 wine/dlls/shell32/brsfolder.c
Index: wine/dlls/shell32/brsfolder.c
diff -u -p wine/dlls/shell32/brsfolder.c:1.64 wine/dlls/shell32/brsfolder.c:1.65
--- wine/dlls/shell32/brsfolder.c:1.64 7 Nov 2005 20:11:27 -0000
+++ wine/dlls/shell32/brsfolder.c 7 Nov 2005 20:11:27 -0000
@@ -388,7 +388,7 @@ static void BrsFolder_CheckValidSelectio
dwAttributes = SFGAO_FILESYSANCESTOR | SFGAO_FILESYSTEM;
r = IShellFolder_GetAttributesOf(lptvid->lpsfParent, 1,
(LPCITEMIDLIST*)&lptvid->lpi, &dwAttributes);
- if (FAILED(r) || !dwAttributes)
+ if (FAILED(r) || !(dwAttributes & (SFGAO_FILESYSANCESTOR|SFGAO_FILESYSTEM)))
bEnabled = FALSE;
}
if (lpBrowseInfo->ulFlags & BIF_RETURNONLYFSDIRS)
@@ -396,8 +396,11 @@ static void BrsFolder_CheckValidSelectio
dwAttributes = SFGAO_FOLDER | SFGAO_FILESYSTEM;
r = IShellFolder_GetAttributesOf(lptvid->lpsfParent, 1,
(LPCITEMIDLIST*)&lptvid->lpi, &dwAttributes);
- if (FAILED(r) || (dwAttributes != (SFGAO_FOLDER | SFGAO_FILESYSTEM)))
+ if (FAILED(r) ||
+ ((dwAttributes & (SFGAO_FOLDER|SFGAO_FILESYSTEM)) != (SFGAO_FOLDER|SFGAO_FILESYSTEM)))
+ {
bEnabled = FALSE;
+ }
}
SendMessageW(info->hWnd, BFFM_ENABLEOK, 0, (LPARAM)bEnabled);
}
More information about the wine-cvs
mailing list