summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/hid/emulated_devices.cpp1
-rw-r--r--src/input_common/main.cpp10
-rw-r--r--src/yuzu_cmd/emu_window/emu_window_sdl2.cpp2
3 files changed, 13 insertions, 0 deletions
diff --git a/src/core/hid/emulated_devices.cpp b/src/core/hid/emulated_devices.cpp
index 8d367b546..658dbd318 100644
--- a/src/core/hid/emulated_devices.cpp
+++ b/src/core/hid/emulated_devices.cpp
@@ -145,6 +145,7 @@ void EmulatedDevices::UnloadInput() {
145 for (auto& button : keyboard_modifier_devices) { 145 for (auto& button : keyboard_modifier_devices) {
146 button.reset(); 146 button.reset();
147 } 147 }
148 ring_analog_device.reset();
148} 149}
149 150
150void EmulatedDevices::EnableConfiguration() { 151void EmulatedDevices::EnableConfiguration() {
diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp
index b2064ef95..76df133f3 100644
--- a/src/input_common/main.cpp
+++ b/src/input_common/main.cpp
@@ -138,6 +138,16 @@ struct InputSubsystem::Impl {
138 Common::Input::UnregisterFactory<Common::Input::OutputDevice>(tas_input->GetEngineName()); 138 Common::Input::UnregisterFactory<Common::Input::OutputDevice>(tas_input->GetEngineName());
139 tas_input.reset(); 139 tas_input.reset();
140 140
141 Common::Input::UnregisterFactory<Common::Input::InputDevice>(camera->GetEngineName());
142 Common::Input::UnregisterFactory<Common::Input::OutputDevice>(camera->GetEngineName());
143 camera.reset();
144
145 Common::Input::UnregisterFactory<Common::Input::InputDevice>(
146 virtual_amiibo->GetEngineName());
147 Common::Input::UnregisterFactory<Common::Input::OutputDevice>(
148 virtual_amiibo->GetEngineName());
149 virtual_amiibo.reset();
150
141#ifdef HAVE_SDL2 151#ifdef HAVE_SDL2
142 Common::Input::UnregisterFactory<Common::Input::InputDevice>(sdl->GetEngineName()); 152 Common::Input::UnregisterFactory<Common::Input::InputDevice>(sdl->GetEngineName());
143 Common::Input::UnregisterFactory<Common::Input::OutputDevice>(sdl->GetEngineName()); 153 Common::Input::UnregisterFactory<Common::Input::OutputDevice>(sdl->GetEngineName());
diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
index 4ac72c2f6..37dd1747c 100644
--- a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
+++ b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
@@ -7,6 +7,7 @@
7#include "common/scm_rev.h" 7#include "common/scm_rev.h"
8#include "common/settings.h" 8#include "common/settings.h"
9#include "core/core.h" 9#include "core/core.h"
10#include "core/hid/hid_core.h"
10#include "core/perf_stats.h" 11#include "core/perf_stats.h"
11#include "input_common/drivers/keyboard.h" 12#include "input_common/drivers/keyboard.h"
12#include "input_common/drivers/mouse.h" 13#include "input_common/drivers/mouse.h"
@@ -26,6 +27,7 @@ EmuWindow_SDL2::EmuWindow_SDL2(InputCommon::InputSubsystem* input_subsystem_, Co
26} 27}
27 28
28EmuWindow_SDL2::~EmuWindow_SDL2() { 29EmuWindow_SDL2::~EmuWindow_SDL2() {
30 system.HIDCore().UnloadInputDevices();
29 input_subsystem->Shutdown(); 31 input_subsystem->Shutdown();
30 SDL_Quit(); 32 SDL_Quit();
31} 33}