summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/NANDContentLoader.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@innovatetechnologi.es>2017-02-08 21:37:12 +0100
committerLéo Lam <leo@innovatetechnologi.es>2017-02-10 19:12:08 +0100
commit7a1f676ef475c5d3843be3e0f625c97f259d55cd (patch)
treedf4ec1524287021dcdb33ce08db3b0d57a0193d9 /Source/Core/DiscIO/NANDContentLoader.cpp
parent96e83b5d54a13fd768552d74aeaf95c0a999665f (diff)
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.
Diffstat (limited to 'Source/Core/DiscIO/NANDContentLoader.cpp')
-rw-r--r--Source/Core/DiscIO/NANDContentLoader.cpp16
1 files changed, 4 insertions, 12 deletions
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();