Disk swap: Remount the ISOBlockSystem too. Should fix #6662
This commit is contained in:
parent
e13888fef3
commit
bc3b4c5512
1 changed files with 8 additions and 1 deletions
|
@ -462,6 +462,7 @@ u32 sceUmdGetErrorStat()
|
|||
void __UmdReplace(std::string filepath) {
|
||||
// Only get system from disc0 seems have been enough.
|
||||
IFileSystem* currentUMD = pspFileSystem.GetSystem("disc0:");
|
||||
IFileSystem* currentISOBlock = pspFileSystem.GetSystem("umd0:");
|
||||
if (!currentUMD)
|
||||
return;
|
||||
|
||||
|
@ -476,8 +477,14 @@ void __UmdReplace(std::string filepath) {
|
|||
if (!bd)
|
||||
return;
|
||||
umd2 = new ISOFileSystem(&pspFileSystem, bd);
|
||||
|
||||
pspFileSystem.Remount(currentUMD, umd2);
|
||||
|
||||
if (currentUMD != currentISOBlock) {
|
||||
// We mounted an ISO block system separately.
|
||||
IFileSystem *iso = new ISOBlockSystem(static_cast<ISOFileSystem *>(umd2));
|
||||
pspFileSystem.Remount(currentISOBlock, iso);
|
||||
delete currentISOBlock;
|
||||
}
|
||||
}
|
||||
delete currentUMD;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue