- Fix launching of properties dialog in the detail view

- Based on Edijus patch (terminedijsatyahoodotcom)
See issue #6571 for more details.

svn path=/trunk/; revision=54176
This commit is contained in:
Johannes Anderwald 2011-10-17 13:22:20 +00:00
parent 2c56678681
commit fc4054d9e9
2 changed files with 14 additions and 1 deletions

View file

@ -846,6 +846,7 @@ SH_ShowPropertiesDialog(WCHAR *lpf, LPCITEMIDLIST pidlFolder, LPCITEMIDLIST *api
INT_PTR res;
CComPtr<IDataObject> pDataObj;
HRESULT hResult;
DWORD wLength;
TRACE("SH_ShowPropertiesDialog entered filename %s\n", debugstr_w(lpf));
@ -873,6 +874,18 @@ SH_ShowPropertiesDialog(WCHAR *lpf, LPCITEMIDLIST pidlFolder, LPCITEMIDLIST *api
wcscpy(wFileName, lpf);
}
//
// get length
//
wLength = wcslen(wFileName);
if (wFileName[wLength-1] == L'\\' && wLength > 3)
{
//
// remove trailing \\ at the end of path
//
wFileName[wLength-1] = L'\0';
}
if (PathIsDirectoryW(wFileName))
{
return SH_ShowFolderProperties(wFileName, pidlFolder, apidl);

View file

@ -1435,7 +1435,7 @@ IDefaultContextMenuImpl::DoProperties(
ShellExecuteW(lpcmi->hwnd, L"open", L"rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl", NULL, NULL, SW_SHOWNORMAL);
return S_OK;
}
else if (dcm.cidl == 0 && _ILIsDesktop(dcm.pidlFolder))
else if (dcm.cidl == 0 && dcm.pidlFolder != NULL && _ILIsDesktop(dcm.pidlFolder))
{
ShellExecuteW(lpcmi->hwnd, L"open", L"rundll32.exe shell32.dll,Control_RunDLL desk.cpl", NULL, NULL, SW_SHOWNORMAL);
return S_OK;