diff --git a/SerialPrograms/Source/NintendoSwitch/Controllers/NintendoSwitch_SerialPABotBase.cpp b/SerialPrograms/Source/NintendoSwitch/Controllers/NintendoSwitch_SerialPABotBase.cpp index 872449671..0e678a420 100644 --- a/SerialPrograms/Source/NintendoSwitch/Controllers/NintendoSwitch_SerialPABotBase.cpp +++ b/SerialPrograms/Source/NintendoSwitch/Controllers/NintendoSwitch_SerialPABotBase.cpp @@ -96,6 +96,9 @@ std::unique_ptr SwitchController_SerialPABotBase_Descripto +SwitchController_SerialPABotBase::~SwitchController_SerialPABotBase(){ + m_handle.disconnect(); +} SwitchController_SerialPABotBase::SwitchController_SerialPABotBase( Logger& logger, const SwitchController_SerialPABotBase_Descriptor& descriptor, @@ -124,9 +127,9 @@ SwitchController_SerialPABotBase::SwitchController_SerialPABotBase( } ) , m_logger(logger, GlobalSettings::instance().LOG_EVERYTHING) + , m_logging_suppress(0) , m_handle(m_logger, &descriptor.port(), requirements) , m_serial(*m_handle.botbase()) - , m_logging_suppress(0) { m_handle.connect( &m_handle, &BotBaseHandle::on_not_connected, diff --git a/SerialPrograms/Source/NintendoSwitch/Controllers/NintendoSwitch_SerialPABotBase.h b/SerialPrograms/Source/NintendoSwitch/Controllers/NintendoSwitch_SerialPABotBase.h index 094e6fd11..0bb7ba5d7 100644 --- a/SerialPrograms/Source/NintendoSwitch/Controllers/NintendoSwitch_SerialPABotBase.h +++ b/SerialPrograms/Source/NintendoSwitch/Controllers/NintendoSwitch_SerialPABotBase.h @@ -92,6 +92,7 @@ class SwitchController_SerialPABotBase : using ContextType = SwitchControllerContext; public: + ~SwitchController_SerialPABotBase(); SwitchController_SerialPABotBase( Logger& logger, const SwitchController_SerialPABotBase_Descriptor& descriptor, @@ -203,15 +204,16 @@ class SwitchController_SerialPABotBase : private: SerialLogger m_logger; - BotBaseHandle m_handle; std::string m_status; std::string m_uptime; - BotBaseController& m_serial; std::atomic m_logging_suppress; SpinLock m_lock; + + BotBaseHandle m_handle; + BotBaseController& m_serial; };