1
0
mirror of https://github.com/chibicitiberiu/rainmeter-studio.git synced 2024-02-24 04:33:31 +00:00

Additional change to 720ed17: Now the sections that the included file has are placed to the last position if @include is placed on the last section in the original file.

This commit is contained in:
spx 2012-07-20 02:33:52 -07:00
parent 071b6f78bb
commit b66875d8ad

@ -1326,6 +1326,16 @@ void CConfigParser::ReadIniFile(const std::wstring& iniFile, LPCTSTR skinSection
if (resetInsertPos) if (resetInsertPos)
{ {
auto jt = iter;
if (++jt == sections.end()) // Special case: @include was used in the last section of the current file
{
// Set the insertion place to the last
m_SectionInsertPos = m_Sections.end();
resetInsertPos = false;
}
else
{
// Find the appropriate insertion place
for (auto it = m_Sections.cbegin(); it != m_Sections.cend(); ++it) for (auto it = m_Sections.cbegin(); it != m_Sections.cend(); ++it)
{ {
if (_wcsicmp((*it).c_str(), sectionName) == 0) if (_wcsicmp((*it).c_str(), sectionName) == 0)
@ -1336,6 +1346,7 @@ void CConfigParser::ReadIniFile(const std::wstring& iniFile, LPCTSTR skinSection
} }
} }
} }
}
ReadIniFile(value, skinSection, depth + 1); ReadIniFile(value, skinSection, depth + 1);
} }