diff options
Diffstat (limited to '')
| -rw-r--r-- | src/core/hid/emulated_devices.cpp | 1 | ||||
| -rw-r--r-- | src/input_common/main.cpp | 10 | ||||
| -rw-r--r-- | src/yuzu_cmd/emu_window/emu_window_sdl2.cpp | 2 |
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 | ||
| 150 | void EmulatedDevices::EnableConfiguration() { | 151 | void 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 | ||
| 28 | EmuWindow_SDL2::~EmuWindow_SDL2() { | 29 | EmuWindow_SDL2::~EmuWindow_SDL2() { |
| 30 | system.HIDCore().UnloadInputDevices(); | ||
| 29 | input_subsystem->Shutdown(); | 31 | input_subsystem->Shutdown(); |
| 30 | SDL_Quit(); | 32 | SDL_Quit(); |
| 31 | } | 33 | } |