From da6a40e3d1beaf17847b973d0389a2d9ab66aa9b Mon Sep 17 00:00:00 2001
From: Yuri Kunde Schlesner <yuriks@yuriks.net>
Date: Sat, 11 Feb 2017 03:29:46 -0800
Subject: [PATCH] core: Free AppLoader on shutdown to release file (#2558)

Fixes #2455
---
 src/core/core.cpp | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/src/core/core.cpp b/src/core/core.cpp
index 202cd332b0..c9c9b76150 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -67,10 +67,6 @@ System::ResultStatus System::SingleStep() {
 }
 
 System::ResultStatus System::Load(EmuWindow* emu_window, const std::string& filepath) {
-    if (app_loader) {
-        app_loader.reset();
-    }
-
     app_loader = Loader::GetLoader(filepath);
 
     if (!app_loader) {
@@ -123,10 +119,6 @@ void System::Reschedule() {
 }
 
 System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) {
-    if (cpu_core) {
-        cpu_core.reset();
-    }
-
     Memory::Init();
 
     if (Settings::values.use_cpu_jit) {
@@ -159,7 +151,8 @@ void System::Shutdown() {
     Kernel::Shutdown();
     HW::Shutdown();
     CoreTiming::Shutdown();
-    cpu_core.reset();
+    cpu_core = nullptr;
+    app_loader = nullptr;
 
     LOG_DEBUG(Core, "Shutdown OK");
 }