diff --git a/src/frontend-common/game_list.cpp b/src/frontend-common/game_list.cpp index 58db28b40..0cd9c88f7 100644 --- a/src/frontend-common/game_list.cpp +++ b/src/frontend-common/game_list.cpp @@ -367,8 +367,11 @@ bool GameList::OpenCacheForWriting() m_cache_write_stream = FileSystem::OpenFile(m_cache_filename.c_str(), BYTESTREAM_OPEN_CREATE | BYTESTREAM_OPEN_WRITE | BYTESTREAM_OPEN_APPEND | BYTESTREAM_OPEN_STREAMED); - if (!m_cache_write_stream) + if (!m_cache_write_stream || !m_cache_write_stream->SeekToEnd()) + { + m_cache_write_stream.reset(); return false; + } if (m_cache_write_stream->GetPosition() == 0) { @@ -516,8 +519,6 @@ void GameList::ScanDirectory(const char* path, bool recursive, ProgressCallback* entry = {}; } - FlushCacheFileStream(); - progress->SetProgressValue(static_cast(files.size())); progress->PopState(); }