mirror of
https://github.com/reactos/reactos.git
synced 2024-10-01 06:57:08 +00:00
[shell32.dll]
- Fix bug 6336 of shell32_new. The bug was caused by not properly verifying the return value of ShellExecuteExW. [FORMATTING] - First wave of accidental formatting (sorry again about mixing code and formatting heh). svn path=/branches/shell32_new-bringup/; revision=53650
This commit is contained in:
parent
29ca67f252
commit
13df60a8ec
|
@ -580,35 +580,45 @@ HRESULT WINAPI CControlPanelFolder::GetDisplayNameOf(LPCITEMIDLIST pidl, DWORD d
|
|||
|
||||
pcpanel = _ILGetCPanelPointer(pidl);
|
||||
|
||||
if (pcpanel) {
|
||||
if (pcpanel)
|
||||
{
|
||||
lstrcpyA(szPath, pcpanel->szName+pcpanel->offsDispName);
|
||||
|
||||
if (!(dwFlags & SHGDN_FORPARSING))
|
||||
FIXME("retrieve display name from control panel app\n");
|
||||
}
|
||||
/* take names of special folders only if it's only this folder */
|
||||
else if (_ILIsSpecialFolder(pidl)) {
|
||||
else if (_ILIsSpecialFolder(pidl))
|
||||
{
|
||||
BOOL bSimplePidl = _ILIsPidlSimple(pidl);
|
||||
|
||||
if (bSimplePidl) {
|
||||
if (bSimplePidl)
|
||||
{
|
||||
_ILSimpleGetTextW(pidl, wszPath, MAX_PATH); /* append my own path */
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
FIXME("special pidl\n");
|
||||
}
|
||||
|
||||
if ((dwFlags & SHGDN_FORPARSING) && !bSimplePidl) { /* go deeper if needed */
|
||||
if ((dwFlags & SHGDN_FORPARSING) && !bSimplePidl)
|
||||
{
|
||||
/* go deeper if needed */
|
||||
int len = 0;
|
||||
|
||||
PathAddBackslashW(wszPath);
|
||||
len = wcslen(wszPath);
|
||||
|
||||
if (!SUCCEEDED
|
||||
(SHELL32_GetDisplayNameOfChild(this, pidl, dwFlags, wszPath + len, MAX_PATH + 1 - len)))
|
||||
if (!SUCCEEDED(SHELL32_GetDisplayNameOfChild(this, pidl, dwFlags, wszPath + len, MAX_PATH + 1 - len)))
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
if (!WideCharToMultiByte(CP_ACP, 0, wszPath, -1, szPath, MAX_PATH, NULL, NULL))
|
||||
wszPath[0] = '\0';
|
||||
} else {
|
||||
if (bSimplePidl) {
|
||||
}
|
||||
else
|
||||
{
|
||||
if (bSimplePidl)
|
||||
{
|
||||
if (!WideCharToMultiByte(CP_ACP, 0, wszPath, -1, szPath, MAX_PATH, NULL, NULL))
|
||||
wszPath[0] = '\0';
|
||||
}
|
||||
|
@ -978,8 +988,8 @@ HRESULT WINAPI CControlPanelFolder::InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi)
|
|||
sei.hwnd = lpcmi->hwnd;
|
||||
sei.nShow = SW_SHOWNORMAL;
|
||||
sei.lpVerb = L"open";
|
||||
ShellExecuteExW(&sei);
|
||||
if (sei.hInstApp == FALSE)
|
||||
|
||||
if (ShellExecuteExW(&sei) == FALSE)
|
||||
return E_FAIL;
|
||||
}
|
||||
else if (lpcmi->lpVerb == MAKEINTRESOURCEA(IDS_CREATELINK)) //FIXME
|
||||
|
|
Loading…
Reference in a new issue