From 25dd2bbef97d3e337be8d1eecdd065e242ec031a Mon Sep 17 00:00:00 2001 From: Kyzentun Keeslala Date: Sun, 27 Dec 2015 07:44:58 -0700 Subject: [PATCH] Added a step to RageFileManager::GetDirlisting to ignore OS X special files. --- src/RageFileManager.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/RageFileManager.cpp b/src/RageFileManager.cpp index 7ebe688e65..e781f57eb8 100644 --- a/src/RageFileManager.cpp +++ b/src/RageFileManager.cpp @@ -432,6 +432,22 @@ void RageFileManager::GetDirListing( const RString &sPath_, vector &Add UnreferenceAllDrivers( apDriverList ); + // Remove files that start with ._ from the list because these are special + // OS X files that cause interference on other platforms. -Kyz + for(size_t i= iOldSize; i < AddTo.size(); ++i) + { + size_t last_slash= AddTo[i].rfind('/'); + last_slash= (last_slash == string::npos) ? 0 : (last_slash+1); + if(last_slash < AddTo[i].size() - 1) + { + if(AddTo[i][last_slash] == '.' && AddTo[i][last_slash+1] == '_') + { + AddTo.erase(AddTo.begin() + i); + --i; + } + } + } + if( iDriversThatReturnedFiles > 1 ) { /* More than one driver returned files. Remove duplicates (case-insensitively). */