Vincent Povirk : shell32: Support SFGAO_LINK in unix shell namespace.
Module: wine Branch: master Commit: a796bcaa7fe22a6ce777ad3573121dc75cf37f23 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a796bcaa7fe22a6ce777ad3573... Author: Vincent Povirk <vincent(a)codeweavers.com> Date: Mon Sep 25 15:35:19 2017 -0500 shell32: Support SFGAO_LINK in unix shell namespace. Signed-off-by: Vincent Povirk <vincent(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/shell32/shfldr_unixfs.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dlls/shell32/shfldr_unixfs.c b/dlls/shell32/shfldr_unixfs.c index 709e822..e74e4db 100644 --- a/dlls/shell32/shfldr_unixfs.c +++ b/dlls/shell32/shfldr_unixfs.c @@ -1140,7 +1140,7 @@ static HRESULT WINAPI ShellFolder2_GetAttributesOf(IShellFolder2* iface, UINT ci UINT i; *attrs = SFGAO_CANCOPY | SFGAO_CANMOVE | SFGAO_CANLINK | SFGAO_CANRENAME | SFGAO_CANDELETE | - SFGAO_HASPROPSHEET | SFGAO_DROPTARGET | SFGAO_FILESYSTEM; + SFGAO_HASPROPSHEET | SFGAO_DROPTARGET | SFGAO_FILESYSTEM | SFGAO_LINK; lstrcpyA(szAbsolutePath, This->m_pszPath); pszRelativePath = szAbsolutePath + lstrlenA(szAbsolutePath); for (i=0; i<cidl; i++) { @@ -1158,6 +1158,13 @@ static HRESULT WINAPI ShellFolder2_GetAttributesOf(IShellFolder2* iface, UINT ci SFGAO_STORAGEANCESTOR | SFGAO_STORAGE; else *attrs |= SFGAO_STREAM; + if ((*attrs & SFGAO_LINK)) + { + char ext[MAX_PATH]; + + if (!_ILGetExtension(apidl[i], ext, MAX_PATH) || lstrcmpiA(ext, "lnk")) + *attrs &= ~SFGAO_LINK; + } } }
participants (1)
-
Alexandre Julliard