summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gui/pages.cpp15
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;