topmenu config files are now read properly
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401595
This commit is contained in:
parent
b281adbb7b
commit
4bb433b17c
@ -923,7 +923,8 @@ bool TopMenu::OnIdentityRemoval(IdentityToken_t *owner)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define PARSE_STATE_NONE 0
|
#define PARSE_STATE_NONE 0
|
||||||
#define PARSE_STATE_CATEGORY 1
|
#define PARSE_STATE_MAIN 1
|
||||||
|
#define PARSE_STATE_CATEGORY 2
|
||||||
unsigned int ignore_parse_level = 0;
|
unsigned int ignore_parse_level = 0;
|
||||||
unsigned int current_parse_state = 0;
|
unsigned int current_parse_state = 0;
|
||||||
config_category_t *cur_cat = NULL;
|
config_category_t *cur_cat = NULL;
|
||||||
@ -952,6 +953,17 @@ SMCParseResult TopMenu::ReadSMC_NewSection(const char *name, bool opt_quotes)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (current_parse_state == PARSE_STATE_NONE)
|
if (current_parse_state == PARSE_STATE_NONE)
|
||||||
|
{
|
||||||
|
if (strcmp(name, "Menu") == 0)
|
||||||
|
{
|
||||||
|
current_parse_state = PARSE_STATE_MAIN;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ignore_parse_level = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (current_parse_state = PARSE_STATE_MAIN)
|
||||||
{
|
{
|
||||||
cur_cat = new config_category_t;
|
cur_cat = new config_category_t;
|
||||||
cur_cat->name = m_Config.strings.AddString(name);
|
cur_cat->name = m_Config.strings.AddString(name);
|
||||||
@ -995,6 +1007,10 @@ SMCParseResult TopMenu::ReadSMC_LeavingSection()
|
|||||||
if (current_parse_state == PARSE_STATE_CATEGORY)
|
if (current_parse_state == PARSE_STATE_CATEGORY)
|
||||||
{
|
{
|
||||||
cur_cat = NULL;
|
cur_cat = NULL;
|
||||||
|
current_parse_state = PARSE_STATE_MAIN;
|
||||||
|
}
|
||||||
|
else if (current_parse_state == PARSE_STATE_MAIN)
|
||||||
|
{
|
||||||
current_parse_state = PARSE_STATE_NONE;
|
current_parse_state = PARSE_STATE_NONE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user