mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
Fixed !WriteKeyValue with "@\"
This commit is contained in:
parent
f2318c4a65
commit
4d18141696
@ -488,17 +488,23 @@ void CRainmeter::Bang_TrayMenu()
|
||||
*/
|
||||
void CRainmeter::Bang_WriteKeyValue(std::vector<std::wstring>& args, CMeterWindow* meterWindow)
|
||||
{
|
||||
if (args.size() < 4)
|
||||
if (args.size() == 3 && meterWindow)
|
||||
{
|
||||
if (!meterWindow) return;
|
||||
|
||||
// Add the config filepath to the args
|
||||
args.push_back(meterWindow->GetSkinFilePath());
|
||||
}
|
||||
|
||||
if (args.size() > 3)
|
||||
else if (args.size() < 4)
|
||||
{
|
||||
const std::wstring& strIniFile = args[3];
|
||||
Log(LOG_ERROR, L"!WriteKeyValue: Invalid parameters");
|
||||
return;
|
||||
}
|
||||
|
||||
std::wstring& strIniFile = args[3];
|
||||
if (meterWindow)
|
||||
{
|
||||
meterWindow->MakePathAbsolute(strIniFile);
|
||||
}
|
||||
|
||||
const WCHAR* iniFile = strIniFile.c_str();
|
||||
|
||||
if (strIniFile.find(L"..\\") != std::wstring::npos || strIniFile.find(L"../") != std::wstring::npos)
|
||||
@ -609,11 +615,6 @@ void CRainmeter::Bang_WriteKeyValue(std::vector<std::wstring>& args, CMeterWindo
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Log(LOG_ERROR, L"!WriteKeyValue: Invalid parameters");
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
** !Log bang
|
||||
@ -1953,7 +1954,7 @@ void CRainmeter::ExecuteBang(const WCHAR* bang, std::vector<std::wstring>& args,
|
||||
}
|
||||
else if (_wcsicmp(bang, L"SetWallpaper") == 0)
|
||||
{
|
||||
Bang_SetWallpaper(args);
|
||||
Bang_SetWallpaper(args, meterWindow);
|
||||
}
|
||||
else if (_wcsicmp(bang, L"About") == 0)
|
||||
{
|
||||
|
@ -241,7 +241,7 @@ private:
|
||||
void Bang_ToggleConfig(std::vector<std::wstring>& args);
|
||||
void Bang_DeactivateConfigGroup(std::vector<std::wstring>& args);
|
||||
void Bang_SetClip(std::vector<std::wstring>& args);
|
||||
void Bang_SetWallpaper(std::vector<std::wstring>& args);
|
||||
void Bang_SetWallpaper(std::vector<std::wstring>& args, CMeterWindow* meterWindow);
|
||||
void Bang_SkinMenu(std::vector<std::wstring>& args, CMeterWindow* meterWindow);
|
||||
void Bang_TrayMenu();
|
||||
void Bang_WriteKeyValue(std::vector<std::wstring>& args, CMeterWindow* meterWindow);
|
||||
|
Loading…
x
Reference in New Issue
Block a user