Skip to content

Commit

Permalink
Core: Fix UI slowdown for savestate timestamp reads
Browse files Browse the repository at this point in the history
  • Loading branch information
malleoz committed Oct 27, 2023
1 parent 3454bc4 commit cddc75c
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions Source/Core/Core/State.cpp
Expand Up @@ -560,7 +560,8 @@ static bool GetVersionFromLZO(StateHeader& header, File::IOFile& f)
return true;
}

static bool ReadStateHeaderFromFile(StateHeader& header, File::IOFile& f)
static bool ReadStateHeaderFromFile(StateHeader& header, File::IOFile& f,
bool get_version_header = true)
{
if (!f.IsOpen())
{
Expand All @@ -574,6 +575,11 @@ static bool ReadStateHeaderFromFile(StateHeader& header, File::IOFile& f)
return false;
}

// Bail out if we only care for retrieving the legacy header.
// This is the case with ReadHeader() calls.
if (!get_version_header)
return true;

if (header.legacy_header.lzo_size != 0)
{
// Parse out version from legacy LZO compressed states
Expand Down Expand Up @@ -608,7 +614,8 @@ bool ReadHeader(const std::string& filename, StateHeader& header)
std::lock_guard lk(s_save_thread_mutex);

File::IOFile f(filename, "rb");
return ReadStateHeaderFromFile(header, f);
bool get_version_header = false;
return ReadStateHeaderFromFile(header, f, get_version_header);
}

std::string GetInfoStringOfSlot(int slot, bool translate)
Expand Down

0 comments on commit cddc75c

Please sign in to comment.