Index: dll/win32/shell32/openwithmenu.cpp =================================================================== --- dll/win32/shell32/openwithmenu.cpp (revision 60817) +++ dll/win32/shell32/openwithmenu.cpp (working copy) @@ -238,7 +238,20 @@ --cchRemaining; } else if (pApp->wszCmd[++i] == '1') - StringCchCopyExW(pszEnd, cchRemaining, pwszFilePath, &pszEnd, &cchRemaining, 0); + { + if (StrChrW(pwszFilePath, L' ') && cchRemaining > 3) + { + *(pszEnd++) = L'"'; + --cchRemaining; + StringCchCopyExW(pszEnd, cchRemaining-1, pwszFilePath, &pszEnd, &cchRemaining, 0); + *(pszEnd++) = L'"'; + --cchRemaining; + } + else + { + StringCchCopyExW(pszEnd, cchRemaining, pwszFilePath, &pszEnd, &cchRemaining, 0); + } + } } /* NULL-terminate the command string */ if (cchRemaining > 0)