diff options
Diffstat (limited to 'gui/browser.cpp')
-rw-r--r-- | gui/browser.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gui/browser.cpp b/gui/browser.cpp index 59ab8ee5ae..40d5121458 100644 --- a/gui/browser.cpp +++ b/gui/browser.cpp @@ -221,14 +221,18 @@ void BrowserDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data void BrowserDialog::updateListing() { // Update the path display _currentPath->setLabel(_node.path()); - + // We memorize the last visited path. ConfMan.set("browser_lastpath", _node.path()); // Read in the data from the file system - _node.listDir(_nodeContent, _isDirBrowser ? FilesystemNode::kListDirectoriesOnly - : FilesystemNode::kListAll); - Common::sort(_nodeContent.begin(), _nodeContent.end()); + FilesystemNode::ListMode listMode = _isDirBrowser ? FilesystemNode::kListDirectoriesOnly + : FilesystemNode::kListAll; + if (!_node.listDir(_nodeContent, listMode)) { + _nodeContent.clear(); + } else { + Common::sort(_nodeContent.begin(), _nodeContent.end()); + } // Populate the ListWidget Common::StringList list; |