From 31cd6b8cf3f6bfe6a60651ee2ebc2455f150d8e4 Mon Sep 17 00:00:00 2001 From: Martin Fuchs Date: Wed, 7 Apr 2004 21:58:50 +0000 Subject: [PATCH] - SHBindToParent(): request correct COM interface from desktop. - _ILCreateFromFindDataA(): type cast to eliminate MSVC compiler warning. --- dlls/shell32/pidl.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/dlls/shell32/pidl.c b/dlls/shell32/pidl.c index 1cd3acbc1ef..cd703cfa7ff 100644 --- a/dlls/shell32/pidl.c +++ b/dlls/shell32/pidl.c @@ -1392,10 +1392,20 @@ HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCI if (_ILIsPidlSimple(pidl)) { + IShellFolder* desktop; + /* we are on desktop level */ - if (ppidlLast) - *ppidlLast = ILClone(pidl); - hr = SHGetDesktopFolder((IShellFolder**)ppv); + hr = SHGetDesktopFolder(&desktop); + + if (SUCCEEDED(hr)) + { + hr = IShellFolder_QueryInterface(desktop, riid, ppv); + + if (SUCCEEDED(hr) && ppidlLast) + *ppidlLast = ILClone(pidl); + + IShellFolder_Release(desktop); + } } else { @@ -1583,7 +1593,7 @@ LPITEMIDLIST _ILCreateFromFindDataA(WIN32_FIND_DATAA * stffile ) pData->type = type; FileTimeToDosDateTime(&(stffile->ftLastWriteTime),&pData->u.folder.uFileDate,&pData->u.folder.uFileTime); pData->u.folder.dwFileSize = stffile->nFileSizeLow; - pData->u.folder.uFileAttribs = stffile->dwFileAttributes; + pData->u.folder.uFileAttribs = (WORD)stffile->dwFileAttributes; } if ((pszDest = _ILGetTextPointer(pidl))) { -- 2.11.4.GIT