diff options
-rw-r--r-- | gui/pages.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/gui/pages.cpp b/gui/pages.cpp index d02dd216d..d662f18f8 100644 --- a/gui/pages.cpp +++ b/gui/pages.cpp @@ -611,16 +611,21 @@ Page* PageSet::FindPage(std::string name) int PageSet::LoadVariables(xml_node<>* vars) { xml_node<>* child; + xml_attribute<> *name, *value, *persist; + int p; child = vars->first_node("variable"); while (child) { - if (!child->first_attribute("name")) - break; - if (!child->first_attribute("value")) - break; + name = child->first_attribute("name"); + value = child->first_attribute("value"); + persist = child->first_attribute("persist"); + if(name && value) + { + p = persist ? atoi(persist->value()) : 0; + DataManager::SetValue(name->value(), value->value(), p); + } - DataManager::SetValue(child->first_attribute("name")->value(), child->first_attribute("value")->value()); child = child->next_sibling("variable"); } return 0; |