diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/core.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index 202cd332b..c9c9b7615 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -67,10 +67,6 @@ System::ResultStatus System::SingleStep() { | |||
| 67 | } | 67 | } |
| 68 | 68 | ||
| 69 | System::ResultStatus System::Load(EmuWindow* emu_window, const std::string& filepath) { | 69 | System::ResultStatus System::Load(EmuWindow* emu_window, const std::string& filepath) { |
| 70 | if (app_loader) { | ||
| 71 | app_loader.reset(); | ||
| 72 | } | ||
| 73 | |||
| 74 | app_loader = Loader::GetLoader(filepath); | 70 | app_loader = Loader::GetLoader(filepath); |
| 75 | 71 | ||
| 76 | if (!app_loader) { | 72 | if (!app_loader) { |
| @@ -123,10 +119,6 @@ void System::Reschedule() { | |||
| 123 | } | 119 | } |
| 124 | 120 | ||
| 125 | System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { | 121 | System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { |
| 126 | if (cpu_core) { | ||
| 127 | cpu_core.reset(); | ||
| 128 | } | ||
| 129 | |||
| 130 | Memory::Init(); | 122 | Memory::Init(); |
| 131 | 123 | ||
| 132 | if (Settings::values.use_cpu_jit) { | 124 | if (Settings::values.use_cpu_jit) { |
| @@ -159,7 +151,8 @@ void System::Shutdown() { | |||
| 159 | Kernel::Shutdown(); | 151 | Kernel::Shutdown(); |
| 160 | HW::Shutdown(); | 152 | HW::Shutdown(); |
| 161 | CoreTiming::Shutdown(); | 153 | CoreTiming::Shutdown(); |
| 162 | cpu_core.reset(); | 154 | cpu_core = nullptr; |
| 155 | app_loader = nullptr; | ||
| 163 | 156 | ||
| 164 | LOG_DEBUG(Core, "Shutdown OK"); | 157 | LOG_DEBUG(Core, "Shutdown OK"); |
| 165 | } | 158 | } |