diff --git a/stepmania/src/RageUtil_FileDB.cpp b/stepmania/src/RageUtil_FileDB.cpp index 434a5d748e..147b3e0468 100644 --- a/stepmania/src/RageUtil_FileDB.cpp +++ b/stepmania/src/RageUtil_FileDB.cpp @@ -218,6 +218,7 @@ FileSet &FilenameDB::GetFileSet( CString dir ) if( ExpireSeconds != -1 && i != dirs.end() && i->second->age.PeekDeltaTime() >= ExpireSeconds ) { delete i->second; + dirs.erase( i ); i = dirs.end(); } @@ -233,6 +234,10 @@ FileSet &FilenameDB::GetFileSet( CString dir ) void FilenameDB::AddFileSet( CString sPath, FileSet *fs ) { sPath.MakeLower(); + map::iterator it = dirs.find( sPath ); + if( it != dirs.end() ) + delete it->second; + dirs[sPath] = fs; }