On 8/2/2010 02:36, David Hedberg wrote:
+static HRESULT ShellItem_get_shellfolder(ShellItem *This, IBindCtx *pbc, IShellFolder **ppsf) +{
- IShellFolder *desktop;
- HRESULT ret;
- ret = SHGetDesktopFolder(&desktop);
- if (SUCCEEDED(ret))
- {
if (_ILIsDesktop(This->pidl))
{
*ppsf = desktop;
IShellFolder_AddRef(*ppsf);
}
else
{
ret = IShellFolder_BindToObject(desktop, This->pidl, pbc,&IID_IShellFolder, (void**)ppsf);
}
IShellFolder_Release(desktop);
- }
- return ret;
+}
I don't think this explicit check for desktop folder is needed here, as I understand ::BindToObject() it should handle this case internally.