diff options
Diffstat (limited to 'gui/fileselector.cpp')
-rw-r--r-- | gui/fileselector.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gui/fileselector.cpp b/gui/fileselector.cpp index 5c287c34d..2602eb257 100644 --- a/gui/fileselector.cpp +++ b/gui/fileselector.cpp @@ -70,8 +70,10 @@ GUIFileSelector::GUIFileSelector(xml_node<>* node) : GUIScrollList(node) if (attr) mPathVar = attr->value(); attr = child->first_attribute("default"); - if (attr) + if (attr) { + mPathDefault = attr->value(); DataManager::SetValue(mPathVar, attr->value()); + } } // Handle the result variable @@ -168,6 +170,8 @@ int GUIFileSelector::NotifyVarChange(const std::string& varName, const std::stri } else { // Reset the list to the top SetVisibleListLocation(0); + if (value.empty()) + DataManager::SetValue(mPathVar, mPathDefault); } updateFileList = true; mUpdate = 1; @@ -288,6 +292,10 @@ void GUIFileSelector::SetPageFocus(int inFocus) { GUIScrollList::SetPageFocus(inFocus); if (inFocus) { + std::string value; + DataManager::GetValue(mPathVar, value); + if (value.empty()) + DataManager::SetValue(mPathVar, mPathDefault); updateFileList = true; mUpdate = 1; } |