From be58f22feb25ab840282fd38517c6c48db1b6c01 Mon Sep 17 00:00:00 2001 From: Torbjörn Andersson Date: Mon, 29 Nov 2004 11:14:12 +0000 Subject: Allow the file browser to get back to the "pseudo root" under Windows. This fixes bug #1074919. svn-id: r15963 --- backends/fs/fs.cpp | 4 ++-- backends/fs/windows/windows-fs.cpp | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'backends') diff --git a/backends/fs/fs.cpp b/backends/fs/fs.cpp index e051e46c9a..983263b37d 100644 --- a/backends/fs/fs.cpp +++ b/backends/fs/fs.cpp @@ -73,9 +73,9 @@ FilesystemNode &FilesystemNode::operator =(const FilesystemNode &node) { FilesystemNode FilesystemNode::getParent() const { AbstractFilesystemNode *node = _realNode->parent(); - if (node == 0) + if (node == 0) { return *this; - else { + } else { return AbstractFilesystemNode::wrap(node); } } diff --git a/backends/fs/windows/windows-fs.cpp b/backends/fs/windows/windows-fs.cpp index 11bec1e2f6..36aed65ca4 100644 --- a/backends/fs/windows/windows-fs.cpp +++ b/backends/fs/windows/windows-fs.cpp @@ -102,7 +102,7 @@ void WindowsFilesystemNode::addFile(FSList &list, ListMode mode, const char *bas entry._path += asciiName; if (entry._isDirectory) entry._path += "\\"; - entry._isValid = true; + entry._isValid = true; entry._isPseudoRoot = false; list.push_back(wrap(new WindowsFilesystemNode(&entry))); @@ -197,8 +197,10 @@ const char *lastPathComponent(const Common::String &str) { AbstractFilesystemNode *WindowsFilesystemNode::parent() const { assert(_isValid || _isPseudoRoot); - WindowsFilesystemNode *p = 0; - if (!_isPseudoRoot && _path.size() > 3) { + if (_isPseudoRoot) + return 0; + WindowsFilesystemNode *p = new WindowsFilesystemNode(); + if (_path.size() > 3) { const char *start = _path.c_str(); const char *end = lastPathComponent(_path); -- cgit v1.2.3