From 4fc347c9acc47bfb3bf323c23c5f11a45541d709 Mon Sep 17 00:00:00 2001 From: pineappleEA Date: Sat, 24 Apr 2021 09:06:02 +0200 Subject: [PATCH] early-access version 1627 --- README.md | 2 +- src/core/file_sys/program_metadata.h | 6 ++++++ src/core/hle/service/lm/lm.cpp | 13 +++++++------ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index e5bc7cb35..2d374f832 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ yuzu emulator early access ============= -This is the source code for early-access 1625. +This is the source code for early-access 1627. ## Legal Notice diff --git a/src/core/file_sys/program_metadata.h b/src/core/file_sys/program_metadata.h index 455532567..1ddf00c14 100755 --- a/src/core/file_sys/program_metadata.h +++ b/src/core/file_sys/program_metadata.h @@ -44,6 +44,12 @@ public: ProgramMetadata(); ~ProgramMetadata(); + ProgramMetadata(const ProgramMetadata&) = default; + ProgramMetadata& operator=(const ProgramMetadata&) = default; + + ProgramMetadata(ProgramMetadata&&) = default; + ProgramMetadata& operator=(ProgramMetadata&&) = default; + /// Gets a default ProgramMetadata configuration, should only be used for homebrew formats where /// we do not have an NPDM file static ProgramMetadata GetDefault(); diff --git a/src/core/hle/service/lm/lm.cpp b/src/core/hle/service/lm/lm.cpp index 7d7542fc2..9bcf8870d 100755 --- a/src/core/hle/service/lm/lm.cpp +++ b/src/core/hle/service/lm/lm.cpp @@ -46,7 +46,7 @@ struct hash { boost::hash_combine(seed, k.severity); boost::hash_combine(seed, k.verbosity); return seed; - }; + } }; } // namespace std @@ -95,7 +95,7 @@ private: std::memcpy(&header, data.data(), sizeof(LogPacketHeader)); offset += sizeof(LogPacketHeader); - LogPacketHeaderEntry entry{ + const LogPacketHeaderEntry entry{ .pid = header.pid, .tid = header.tid, .severity = header.severity, @@ -105,16 +105,17 @@ private: if (True(header.flags & LogPacketFlags::Head)) { std::vector tmp(data.size() - sizeof(LogPacketHeader)); std::memcpy(tmp.data(), data.data() + offset, tmp.size()); - entries[entry] = std::move(tmp); + entries.insert_or_assign(entry, std::move(tmp)); } else { + const auto entry_iter = entries.find(entry); + // Append to existing entry - if (!entries.contains(entry)) { + if (entry_iter == entries.cend()) { LOG_ERROR(Service_LM, "Log entry does not exist!"); return; } - std::vector tmp(data.size() - sizeof(LogPacketHeader)); - auto& existing_entry = entries[entry]; + auto& existing_entry = entry_iter->second; const auto base = existing_entry.size(); existing_entry.resize(base + (data.size() - sizeof(LogPacketHeader))); std::memcpy(existing_entry.data() + base, data.data() + offset,