mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 12:23:31 +00:00
[shell32.dll]
- Make sure the ParseDisplayName functions make the ppidle parameter NULL whenever that's possible. Scores a wine test. Spotted by Victor Martinez. svn path=/branches/shell32_new-bringup/; revision=53641
This commit is contained in:
@@ -304,10 +304,16 @@ HRESULT WINAPI CDesktopFolder::ParseDisplayName (HWND hwndOwner, LPBC pbc, LPOLE
|
||||
this, hwndOwner, pbc, lpszDisplayName, debugstr_w(lpszDisplayName),
|
||||
pchEaten, ppidl, pdwAttributes);
|
||||
|
||||
if (!lpszDisplayName || !ppidl)
|
||||
if (!ppidl)
|
||||
return E_INVALIDARG;
|
||||
|
||||
*ppidl = 0;
|
||||
if (!lpszDisplayName)
|
||||
{
|
||||
*ppidl = NULL;
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
*ppidl = NULL;
|
||||
|
||||
if (pchEaten)
|
||||
*pchEaten = 0; /* strange but like the original */
|
||||
@@ -333,6 +339,7 @@ HRESULT WINAPI CDesktopFolder::ParseDisplayName (HWND hwndOwner, LPBC pbc, LPOLE
|
||||
else if( (pidlTemp = SHELL32_CreatePidlFromBindCtx(pbc, lpszDisplayName)) )
|
||||
{
|
||||
*ppidl = pidlTemp;
|
||||
DbgPrint("[shell32, CDesktopFolder::ParseDisplayName] 1 *ppidl = 0x%x\n", *ppidl);
|
||||
return S_OK;
|
||||
}
|
||||
else
|
||||
@@ -379,7 +386,10 @@ HRESULT WINAPI CDesktopFolder::ParseDisplayName (HWND hwndOwner, LPBC pbc, LPOLE
|
||||
}
|
||||
}
|
||||
|
||||
*ppidl = pidlTemp;
|
||||
if (SUCCEEDED(hr))
|
||||
*ppidl = pidlTemp;
|
||||
else
|
||||
*ppidl = NULL;
|
||||
|
||||
TRACE ("(%p)->(-- ret=0x%08x)\n", this, hr);
|
||||
|
||||
|
||||
@@ -188,9 +188,17 @@ HRESULT WINAPI CFSFolder::ParseDisplayName(HWND hwndOwner,
|
||||
this, hwndOwner, pbc, lpszDisplayName, debugstr_w (lpszDisplayName),
|
||||
pchEaten, ppidl, pdwAttributes);
|
||||
|
||||
if (!lpszDisplayName || !ppidl)
|
||||
if (!ppidl)
|
||||
return E_INVALIDARG;
|
||||
|
||||
if (!lpszDisplayName)
|
||||
{
|
||||
*ppidl = NULL;
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
*ppidl = NULL;
|
||||
|
||||
if (pchEaten)
|
||||
*pchEaten = 0; /* strange but like the original */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user