Fixed that Rainmeter crashes when [] is in bang. E.g. !SetVariable test "blaa[]"

This commit is contained in:
Birunthan Mohanathas 2011-07-29 17:46:21 +00:00
parent e74d6f4619
commit 5c1334dbd6

View File

@ -3167,18 +3167,11 @@ std::wstring CRainmeter::ParseCommand(const WCHAR* command, CMeterWindow* meterW
start = strCommand.find(L'[', start);
if (start != std::wstring::npos)
{
end = strCommand.find(L']', start);
end = strCommand.find(L']', start + 1);
if (end != std::wstring::npos)
{
std::wstring measureName = strCommand.substr(start + 1, end - (start + 1));
if (!measureName.empty())
{
// Ignore bangs
if (measureName[0] == L'!')
{
start = end + 1;
}
else
if (!measureName.empty() && measureName[0] != L'!') // Ignore bangs
{
if (meterWindow)
{
@ -3210,6 +3203,9 @@ std::wstring CRainmeter::ParseCommand(const WCHAR* command, CMeterWindow* meterW
}
}
}
else
{
start = end + 1;
}
}
}