Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52394 Signed-off-by: Fabian Maurer dark.shadow4@web.de --- dlls/shell32/shlfolder.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/shell32/shlfolder.c b/dlls/shell32/shlfolder.c index 8e3b561cfd1..28d067075ca 100644 --- a/dlls/shell32/shlfolder.c +++ b/dlls/shell32/shlfolder.c @@ -381,6 +381,7 @@ HRESULT SHELL32_GetItemAttributes (IShellFolder2 *psf, LPCITEMIDLIST pidl, LPDWO { DWORD dwAttributes; BOOL has_guid; + PIDLDATA* data; static const DWORD dwSupportedAttr= SFGAO_CANCOPY | /*0x00000001 */ SFGAO_CANMOVE | /*0x00000002 */ @@ -406,6 +407,7 @@ HRESULT SHELL32_GetItemAttributes (IShellFolder2 *psf, LPCITEMIDLIST pidl, LPDWO }
has_guid = _ILGetGUIDPointer(pidl) != NULL; + data = _ILGetDataPointer (pidl);
dwAttributes = *pdwAttributes;
@@ -414,10 +416,10 @@ HRESULT SHELL32_GetItemAttributes (IShellFolder2 *psf, LPCITEMIDLIST pidl, LPDWO SFGAO_DROPTARGET|SFGAO_HASPROPSHEET|SFGAO_CANLINK; } else if (has_guid && _ILIsPidlSimple(pidl) && HCR_GetFolderAttributes(pidl, &dwAttributes)) { *pdwAttributes = dwAttributes; - } else if (_ILGetDataPointer (pidl)) { + } else if (data) { DWORD file_attr = _ILGetFileAttributes (pidl, NULL, 0);
- if (!file_attr) { + if (!file_attr && data->type != PT_CPLAPPLET) { WCHAR path[MAX_PATH]; STRRET strret;
-- 2.34.1