diff options
-rw-r--r-- | backends/fs/symbian/symbian-fs.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/backends/fs/symbian/symbian-fs.cpp b/backends/fs/symbian/symbian-fs.cpp index edb44d9ba9..d970cf3f73 100644 --- a/backends/fs/symbian/symbian-fs.cpp +++ b/backends/fs/symbian/symbian-fs.cpp @@ -66,6 +66,13 @@ public: TPtrC8 ptr((const unsigned char*) _path.c_str(), _path.size()); fname.Copy(ptr); TBool fileExists = BaflUtils::FileExists(static_cast<OSystem_SDL_Symbian*> (g_system)->FsSession(), fname); + if(!fileExists) { + + TParsePtrC parser(fname); + if(parser.PathPresent() && parser.Path().Compare(_L("\\")) == KErrNone && !parser.NameOrExtPresent()) { + fileExists = ETrue; + } + } return fileExists; } virtual Common::String getDisplayName() const { return _displayName; } @@ -130,6 +137,10 @@ SymbianFilesystemNode::SymbianFilesystemNode(const Common::String &path) { } else { _isValid = ETrue; _isDirectory = EFalse; + TParsePtrC parser(fname); + if(parser.PathPresent() && parser.Path().Compare(_L("\\")) == KErrNone && !parser.NameOrExtPresent()) { + _isDirectory = ETrue; + } } } |