diff options
| -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() {      for (auto& button : keyboard_modifier_devices) {          button.reset();      } +    ring_analog_device.reset();  }  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 {          Common::Input::UnregisterFactory<Common::Input::OutputDevice>(tas_input->GetEngineName());          tas_input.reset(); +        Common::Input::UnregisterFactory<Common::Input::InputDevice>(camera->GetEngineName()); +        Common::Input::UnregisterFactory<Common::Input::OutputDevice>(camera->GetEngineName()); +        camera.reset(); + +        Common::Input::UnregisterFactory<Common::Input::InputDevice>( +            virtual_amiibo->GetEngineName()); +        Common::Input::UnregisterFactory<Common::Input::OutputDevice>( +            virtual_amiibo->GetEngineName()); +        virtual_amiibo.reset(); +  #ifdef HAVE_SDL2          Common::Input::UnregisterFactory<Common::Input::InputDevice>(sdl->GetEngineName());          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 @@  #include "common/scm_rev.h"  #include "common/settings.h"  #include "core/core.h" +#include "core/hid/hid_core.h"  #include "core/perf_stats.h"  #include "input_common/drivers/keyboard.h"  #include "input_common/drivers/mouse.h" @@ -26,6 +27,7 @@ EmuWindow_SDL2::EmuWindow_SDL2(InputCommon::InputSubsystem* input_subsystem_, Co  }  EmuWindow_SDL2::~EmuWindow_SDL2() { +    system.HIDCore().UnloadInputDevices();      input_subsystem->Shutdown();      SDL_Quit();  } | 
