From 7a1f676ef475c5d3843be3e0f625c97f259d55cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Wed, 8 Feb 2017 21:37:12 +0100 Subject: Always use configured root when installing WAD This prevents Dolphin from writing to /sys/uid.sys (on the host; root partition) when installing a WAD before starting emulation, because the session root is not initialized at that moment. Incidentally, this also gets rid of a singleton. --- Source/Core/DiscIO/NANDContentLoader.cpp | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'Source/Core/DiscIO/NANDContentLoader.cpp') diff --git a/Source/Core/DiscIO/NANDContentLoader.cpp b/Source/Core/DiscIO/NANDContentLoader.cpp index b57f6eb0ea..639891d899 100644 --- a/Source/Core/DiscIO/NANDContentLoader.cpp +++ b/Source/Core/DiscIO/NANDContentLoader.cpp @@ -398,16 +398,11 @@ void CNANDContentLoader::RemoveTitle() const } } -cUIDsys::cUIDsys() -{ - UpdateLocation(); -} - -void cUIDsys::UpdateLocation() +cUIDsys::cUIDsys(Common::FromWhichRoot root) { m_Elements.clear(); m_LastUID = 0x00001000; - m_UidSys = File::GetUserPath(D_SESSION_WIIROOT_IDX) + "/sys/uid.sys"; + m_UidSys = Common::RootUserPath(root) + "/sys/uid.sys"; File::IOFile pFile(m_UidSys, "rb"); SElement Element; @@ -430,10 +425,6 @@ void cUIDsys::UpdateLocation() } } -cUIDsys::~cUIDsys() -{ -} - u32 cUIDsys::GetUIDFromTitle(u64 title_id) { for (auto& Element : m_Elements) @@ -541,7 +532,8 @@ u64 CNANDContentManager::Install_WiiWAD(const std::string& filename) return 0; } - cUIDsys::AccessInstance().AddTitle(title_id); + cUIDsys uid_sys{Common::FromWhichRoot::FROM_CONFIGURED_ROOT}; + uid_sys.AddTitle(title_id); ClearCache(); -- cgit v1.2.3