diff options
Diffstat (limited to 'plugingui/directory.cc')
-rw-r--r-- | plugingui/directory.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/plugingui/directory.cc b/plugingui/directory.cc index 48e67c6..ff0fa05 100644 --- a/plugingui/directory.cc +++ b/plugingui/directory.cc @@ -319,8 +319,14 @@ bool Directory::exists(std::string path) bool Directory::isHidden(std::string path) { DEBUG(directory, "Is '%s' hidden?\n", path.c_str()); - // TODO: Handle hidden and system files in windows #ifdef WIN32 + // We dont want to filter out '..' pointing to root of a partition + unsigned pos = path.find_last_of("/\\"); + std::string entry = path.substr(pos+1); + if(entry == "..") { + return false; + } + DWORD fattribs = GetFileAttributes(path.c_str()); if(fattribs & FILE_ATTRIBUTE_HIDDEN) { DEBUG(directory, "\t...yes!\n"); |