summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorshuffle2 <godisgovernment@gmail.com>2017-06-27 12:05:38 -0700
committerGitHub <noreply@github.com>2017-06-27 12:05:38 -0700
commit0ea17dafd9ce035886dd2ebbdce18b1f0ea4dd56 (patch)
tree43d6aae64aa0f96681e4092bba85dde6a66b7e12 /Source/Core
parentd19e1ed4bf608e2e38542a37ad25289d939fd4ff (diff)
parentff83b93949973974a0cdab930261b6e8513f8a4d (diff)
Merge pull request #5710 from leoetlino/more-wiiroot-fixes
Remove unnecessary WiiRoot inits/shutdowns
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/IOS/IOS.cpp4
-rw-r--r--Source/Core/Core/IOS/IOS.h1
-rw-r--r--Source/Core/Core/Movie.cpp3
3 files changed, 6 insertions, 2 deletions
diff --git a/Source/Core/Core/IOS/IOS.cpp b/Source/Core/Core/IOS/IOS.cpp
index 6e43aaeabf..06c8e4ecd1 100644
--- a/Source/Core/Core/IOS/IOS.cpp
+++ b/Source/Core/Core/IOS/IOS.cpp
@@ -180,6 +180,7 @@ Kernel::Kernel()
// using more than one IOS instance at a time is not supported.
_assert_(GetIOS() == nullptr);
Core::InitializeWiiRoot(false);
+ m_is_responsible_for_nand_root = true;
AddCoreDevices();
}
@@ -198,7 +199,8 @@ Kernel::~Kernel()
m_device_map.clear();
}
- Core::ShutdownWiiRoot();
+ if (m_is_responsible_for_nand_root)
+ Core::ShutdownWiiRoot();
}
Kernel::Kernel(u64 title_id) : m_title_id(title_id)
diff --git a/Source/Core/Core/IOS/IOS.h b/Source/Core/Core/IOS/IOS.h
index b7604b0d23..aaf6b18671 100644
--- a/Source/Core/Core/IOS/IOS.h
+++ b/Source/Core/Core/IOS/IOS.h
@@ -133,6 +133,7 @@ protected:
s32 GetFreeDeviceID();
s32 OpenDevice(OpenRequest& request);
+ bool m_is_responsible_for_nand_root = false;
u64 m_title_id = 0;
static constexpr u8 IPC_MAX_FDS = 0x18;
std::map<std::string, std::shared_ptr<Device::Device>> m_device_map;
diff --git a/Source/Core/Core/Movie.cpp b/Source/Core/Core/Movie.cpp
index 7241becd47..cade8d20f0 100644
--- a/Source/Core/Core/Movie.cpp
+++ b/Source/Core/Core/Movie.cpp
@@ -625,7 +625,8 @@ bool BeginRecordingInput(int controllers)
s_currentByte = s_totalBytes = 0;
- Core::UpdateWantDeterminism();
+ if (Core::IsRunning())
+ Core::UpdateWantDeterminism();
Core::PauseAndLock(false, was_unpaused);