diff --git a/Controllers/A4TechController/BloodyB820RController/RGBController_BloodyB820R.cpp b/Controllers/A4TechController/BloodyB820RController/RGBController_BloodyB820R.cpp index e05df15f..7542041b 100644 --- a/Controllers/A4TechController/BloodyB820RController/RGBController_BloodyB820R.cpp +++ b/Controllers/A4TechController/BloodyB820RController/RGBController_BloodyB820R.cpp @@ -173,6 +173,8 @@ RGBController_BloodyB820R::RGBController_BloodyB820R(BloodyB820RController *cont RGBController_BloodyB820R::~RGBController_BloodyB820R() { + Shutdown(); + delete controller; } diff --git a/Controllers/A4TechController/BloodyMouseController/RGBController_BloodyMouse.cpp b/Controllers/A4TechController/BloodyMouseController/RGBController_BloodyMouse.cpp index 49c139b8..0ca8d3df 100644 --- a/Controllers/A4TechController/BloodyMouseController/RGBController_BloodyMouse.cpp +++ b/Controllers/A4TechController/BloodyMouseController/RGBController_BloodyMouse.cpp @@ -89,6 +89,8 @@ RGBController_BloodyMouse::RGBController_BloodyMouse(BloodyMouseController *cont RGBController_BloodyMouse::~RGBController_BloodyMouse() { + Shutdown(); + delete controller; } diff --git a/Controllers/AMBXController/RGBController_AMBX.cpp b/Controllers/AMBXController/RGBController_AMBX.cpp index 6daeabb0..a543c791 100644 --- a/Controllers/AMBXController/RGBController_AMBX.cpp +++ b/Controllers/AMBXController/RGBController_AMBX.cpp @@ -44,6 +44,8 @@ RGBController_AMBX::RGBController_AMBX(AMBXController* controller_ptr) RGBController_AMBX::~RGBController_AMBX() { + Shutdown(); + delete controller; } diff --git a/Controllers/AMDWraithPrismController/RGBController_AMDWraithPrism.cpp b/Controllers/AMDWraithPrismController/RGBController_AMDWraithPrism.cpp index 4b65cfb2..d619c78f 100644 --- a/Controllers/AMDWraithPrismController/RGBController_AMDWraithPrism.cpp +++ b/Controllers/AMDWraithPrismController/RGBController_AMDWraithPrism.cpp @@ -132,6 +132,8 @@ RGBController_AMDWraithPrism::RGBController_AMDWraithPrism(AMDWraithPrismControl RGBController_AMDWraithPrism::~RGBController_AMDWraithPrism() { + Shutdown(); + delete controller; } diff --git a/Controllers/AOCKeyboardController/RGBController_AOCKeyboard.cpp b/Controllers/AOCKeyboardController/RGBController_AOCKeyboard.cpp index f8a60d8b..5793a5af 100644 --- a/Controllers/AOCKeyboardController/RGBController_AOCKeyboard.cpp +++ b/Controllers/AOCKeyboardController/RGBController_AOCKeyboard.cpp @@ -257,6 +257,8 @@ RGBController_AOCKeyboard::RGBController_AOCKeyboard(AOCKeyboardController* cont RGBController_AOCKeyboard::~RGBController_AOCKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/AOCMouseController/RGBController_AOCMouse.cpp b/Controllers/AOCMouseController/RGBController_AOCMouse.cpp index 6102931f..3ad7c4ac 100644 --- a/Controllers/AOCMouseController/RGBController_AOCMouse.cpp +++ b/Controllers/AOCMouseController/RGBController_AOCMouse.cpp @@ -123,6 +123,8 @@ RGBController_AOCMouse::RGBController_AOCMouse(AOCMouseController* controller_pt RGBController_AOCMouse::~RGBController_AOCMouse() { + Shutdown(); + delete controller; } diff --git a/Controllers/AOCMousematController/RGBController_AOCMousemat.cpp b/Controllers/AOCMousematController/RGBController_AOCMousemat.cpp index 5ef05806..4fa23bbf 100644 --- a/Controllers/AOCMousematController/RGBController_AOCMousemat.cpp +++ b/Controllers/AOCMousematController/RGBController_AOCMousemat.cpp @@ -113,6 +113,8 @@ RGBController_AOCMousemat::RGBController_AOCMousemat(AOCMousematController* cont RGBController_AOCMousemat::~RGBController_AOCMousemat() { + Shutdown(); + delete controller; } diff --git a/Controllers/ASRockPolychromeUSBController/RGBController_ASRockPolychromeUSB.cpp b/Controllers/ASRockPolychromeUSBController/RGBController_ASRockPolychromeUSB.cpp index 75b42aa3..2e2ff529 100755 --- a/Controllers/ASRockPolychromeUSBController/RGBController_ASRockPolychromeUSB.cpp +++ b/Controllers/ASRockPolychromeUSBController/RGBController_ASRockPolychromeUSB.cpp @@ -185,6 +185,13 @@ RGBController_PolychromeUSB::RGBController_PolychromeUSB(PolychromeUSBController SetupZones(); } +RGBController_PolychromeUSB::~RGBController_PolychromeUSB() +{ + Shutdown(); + + delete controller; +} + void RGBController_PolychromeUSB::SetupZones() { /*-------------------------------------------------*\ diff --git a/Controllers/ASRockPolychromeUSBController/RGBController_ASRockPolychromeUSB.h b/Controllers/ASRockPolychromeUSBController/RGBController_ASRockPolychromeUSB.h index de5c70c2..85978256 100755 --- a/Controllers/ASRockPolychromeUSBController/RGBController_ASRockPolychromeUSB.h +++ b/Controllers/ASRockPolychromeUSBController/RGBController_ASRockPolychromeUSB.h @@ -19,6 +19,7 @@ class RGBController_PolychromeUSB : public RGBController { public: RGBController_PolychromeUSB(PolychromeUSBController* controller_ptr); + ~RGBController_PolychromeUSB(); void SetupZones(); diff --git a/Controllers/ASRockSMBusController/ASRockASRRGBSMBusController/RGBController_ASRockASRRGBSMBus.cpp b/Controllers/ASRockSMBusController/ASRockASRRGBSMBusController/RGBController_ASRockASRRGBSMBus.cpp index 6b26b02a..14487ccd 100644 --- a/Controllers/ASRockSMBusController/ASRockASRRGBSMBusController/RGBController_ASRockASRRGBSMBus.cpp +++ b/Controllers/ASRockSMBusController/ASRockASRRGBSMBusController/RGBController_ASRockASRRGBSMBus.cpp @@ -113,6 +113,8 @@ RGBController_ASRockASRRGBSMBus::RGBController_ASRockASRRGBSMBus(ASRockASRRGBSMB RGBController_ASRockASRRGBSMBus::~RGBController_ASRockASRRGBSMBus() { + Shutdown(); + delete controller; } diff --git a/Controllers/ASRockSMBusController/ASRockPolychromeV1SMBusController/RGBController_ASRockPolychromeV1SMBus.cpp b/Controllers/ASRockSMBusController/ASRockPolychromeV1SMBusController/RGBController_ASRockPolychromeV1SMBus.cpp index c524d878..5a065c12 100644 --- a/Controllers/ASRockSMBusController/ASRockPolychromeV1SMBusController/RGBController_ASRockPolychromeV1SMBus.cpp +++ b/Controllers/ASRockSMBusController/ASRockPolychromeV1SMBusController/RGBController_ASRockPolychromeV1SMBus.cpp @@ -230,6 +230,8 @@ RGBController_ASRockPolychromeV1SMBus::RGBController_ASRockPolychromeV1SMBus(ASR RGBController_ASRockPolychromeV1SMBus::~RGBController_ASRockPolychromeV1SMBus() { + Shutdown(); + delete controller; } diff --git a/Controllers/ASRockSMBusController/ASRockPolychromeV2SMBusController/RGBController_ASRockPolychromeV2SMBus.cpp b/Controllers/ASRockSMBusController/ASRockPolychromeV2SMBusController/RGBController_ASRockPolychromeV2SMBus.cpp index 8dbbd964..46d18da4 100644 --- a/Controllers/ASRockSMBusController/ASRockPolychromeV2SMBusController/RGBController_ASRockPolychromeV2SMBus.cpp +++ b/Controllers/ASRockSMBusController/ASRockPolychromeV2SMBusController/RGBController_ASRockPolychromeV2SMBus.cpp @@ -185,6 +185,8 @@ RGBController_ASRockPolychromeV2SMBus::RGBController_ASRockPolychromeV2SMBus(ASR RGBController_ASRockPolychromeV2SMBus::~RGBController_ASRockPolychromeV2SMBus() { + Shutdown(); + delete controller; } diff --git a/Controllers/AlienwareController/RGBController_Alienware.cpp b/Controllers/AlienwareController/RGBController_Alienware.cpp index 49d1e22a..4ae388d7 100644 --- a/Controllers/AlienwareController/RGBController_Alienware.cpp +++ b/Controllers/AlienwareController/RGBController_Alienware.cpp @@ -125,6 +125,13 @@ RGBController_Alienware::RGBController_Alienware(AlienwareController* controller controller->UpdateDim(); } +RGBController_Alienware::~RGBController_Alienware() +{ + Shutdown(); + + delete controller; +} + void RGBController_Alienware::SetupZones() { /*-------------------------------------------------*\ diff --git a/Controllers/AlienwareController/RGBController_Alienware.h b/Controllers/AlienwareController/RGBController_Alienware.h index ffcd6da5..b3ebb720 100644 --- a/Controllers/AlienwareController/RGBController_Alienware.h +++ b/Controllers/AlienwareController/RGBController_Alienware.h @@ -19,6 +19,7 @@ class RGBController_Alienware : public RGBController { public: RGBController_Alienware(AlienwareController* controller_ptr); + ~RGBController_Alienware(); void SetupZones(); diff --git a/Controllers/AlienwareKeyboardController/AlienwareAW410KController/RGBController_AlienwareAW410K.cpp b/Controllers/AlienwareKeyboardController/AlienwareAW410KController/RGBController_AlienwareAW410K.cpp index 76bbeaf5..8b276783 100644 --- a/Controllers/AlienwareKeyboardController/AlienwareAW410KController/RGBController_AlienwareAW410K.cpp +++ b/Controllers/AlienwareKeyboardController/AlienwareAW410KController/RGBController_AlienwareAW410K.cpp @@ -278,6 +278,8 @@ RGBController_AlienwareAW410K::RGBController_AlienwareAW410K(AlienwareAW410KCont RGBController_AlienwareAW410K::~RGBController_AlienwareAW410K() { + Shutdown(); + delete controller; } diff --git a/Controllers/AlienwareKeyboardController/AlienwareAW510KController/RGBController_AlienwareAW510K.cpp b/Controllers/AlienwareKeyboardController/AlienwareAW510KController/RGBController_AlienwareAW510K.cpp index 06488f1d..98d3f36d 100644 --- a/Controllers/AlienwareKeyboardController/AlienwareAW510KController/RGBController_AlienwareAW510K.cpp +++ b/Controllers/AlienwareKeyboardController/AlienwareAW510KController/RGBController_AlienwareAW510K.cpp @@ -277,6 +277,8 @@ RGBController_AlienwareAW510K::RGBController_AlienwareAW510K(AlienwareAW510KCont RGBController_AlienwareAW510K::~RGBController_AlienwareAW510K() { + Shutdown(); + delete controller; } diff --git a/Controllers/AlienwareMonitorController/RGBController_AlienwareAW3423DWF.cpp b/Controllers/AlienwareMonitorController/RGBController_AlienwareAW3423DWF.cpp index 8270b6e8..4409f82d 100644 --- a/Controllers/AlienwareMonitorController/RGBController_AlienwareAW3423DWF.cpp +++ b/Controllers/AlienwareMonitorController/RGBController_AlienwareAW3423DWF.cpp @@ -46,6 +46,8 @@ RGBController_AlienwareAW3423DWF::RGBController_AlienwareAW3423DWF(AlienwareAW34 RGBController_AlienwareAW3423DWF::~RGBController_AlienwareAW3423DWF() { + Shutdown(); + delete controller; } diff --git a/Controllers/AlienwareMonitorController/RGBController_AlienwareMonitor.cpp b/Controllers/AlienwareMonitorController/RGBController_AlienwareMonitor.cpp index 8a247a24..a64cc56c 100644 --- a/Controllers/AlienwareMonitorController/RGBController_AlienwareMonitor.cpp +++ b/Controllers/AlienwareMonitorController/RGBController_AlienwareMonitor.cpp @@ -46,6 +46,8 @@ RGBController_AlienwareMonitor::RGBController_AlienwareMonitor(AlienwareMonitorC RGBController_AlienwareMonitor::~RGBController_AlienwareMonitor() { + Shutdown(); + delete controller; } diff --git a/Controllers/AnnePro2Controller/RGBController_AnnePro2.cpp b/Controllers/AnnePro2Controller/RGBController_AnnePro2.cpp index 5a537ff9..f90a689b 100644 --- a/Controllers/AnnePro2Controller/RGBController_AnnePro2.cpp +++ b/Controllers/AnnePro2Controller/RGBController_AnnePro2.cpp @@ -144,6 +144,8 @@ RGBController_AnnePro2::RGBController_AnnePro2(AnnePro2Controller* controller_pt RGBController_AnnePro2::~RGBController_AnnePro2() { + Shutdown(); + delete controller; } diff --git a/Controllers/ArcticController/RGBController_Arctic.cpp b/Controllers/ArcticController/RGBController_Arctic.cpp index 1eea3723..5e46322f 100644 --- a/Controllers/ArcticController/RGBController_Arctic.cpp +++ b/Controllers/ArcticController/RGBController_Arctic.cpp @@ -55,6 +55,8 @@ RGBController_Arctic::RGBController_Arctic(ArcticController* controller_ptr) RGBController_Arctic::~RGBController_Arctic() { + Shutdown(); + keepalive_thread_run = false; keepalive_thread.join(); delete controller; diff --git a/Controllers/AresonController/RGBController_Areson.cpp b/Controllers/AresonController/RGBController_Areson.cpp index 388517da..d840d763 100644 --- a/Controllers/AresonController/RGBController_Areson.cpp +++ b/Controllers/AresonController/RGBController_Areson.cpp @@ -125,6 +125,8 @@ RGBController_Areson::RGBController_Areson(AresonController* controller_ptr) RGBController_Areson::~RGBController_Areson() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraCoreController/AsusAuraCoreController/RGBController_AsusAuraCore.cpp b/Controllers/AsusAuraCoreController/AsusAuraCoreController/RGBController_AsusAuraCore.cpp index 248b3f5c..a17a4192 100644 --- a/Controllers/AsusAuraCoreController/AsusAuraCoreController/RGBController_AsusAuraCore.cpp +++ b/Controllers/AsusAuraCoreController/AsusAuraCoreController/RGBController_AsusAuraCore.cpp @@ -45,6 +45,13 @@ RGBController_AuraCore::RGBController_AuraCore(AuraCoreController* controller_pt SetupZones(); } +RGBController_AuraCore::~RGBController_AuraCore() +{ + Shutdown(); + + delete controller; +} + void RGBController_AuraCore::SetupKeyboard() { name = "ASUS Aura Keyboard"; @@ -170,11 +177,6 @@ void RGBController_AuraCore::SetupGA15DH() modes.push_back(Static); } -RGBController_AuraCore::~RGBController_AuraCore() -{ - delete controller; -} - void RGBController_AuraCore::SetupZones() { zone auraZone; diff --git a/Controllers/AsusAuraCoreController/AsusAuraCoreLaptopController/RGBController_AsusAuraCoreLaptop.cpp b/Controllers/AsusAuraCoreController/AsusAuraCoreLaptopController/RGBController_AsusAuraCoreLaptop.cpp index caacb2c6..7103fa60 100644 --- a/Controllers/AsusAuraCoreController/AsusAuraCoreLaptopController/RGBController_AsusAuraCoreLaptop.cpp +++ b/Controllers/AsusAuraCoreController/AsusAuraCoreLaptopController/RGBController_AsusAuraCoreLaptop.cpp @@ -268,6 +268,8 @@ RGBController_AsusAuraCoreLaptop::RGBController_AsusAuraCoreLaptop(AsusAuraCoreL RGBController_AsusAuraCoreLaptop::~RGBController_AsusAuraCoreLaptop() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraGPUController/RGBController_AsusAuraGPU.cpp b/Controllers/AsusAuraGPUController/RGBController_AsusAuraGPU.cpp index 3ecf3368..d238dcd7 100644 --- a/Controllers/AsusAuraGPUController/RGBController_AsusAuraGPU.cpp +++ b/Controllers/AsusAuraGPUController/RGBController_AsusAuraGPU.cpp @@ -124,6 +124,8 @@ RGBController_AuraGPU::RGBController_AuraGPU(AuraGPUController * controller_ptr) RGBController_AuraGPU::~RGBController_AuraGPU() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraUSBController/AsusAuraHeadsetStandController/RGBController_AsusAuraHeadsetStand.cpp b/Controllers/AsusAuraUSBController/AsusAuraHeadsetStandController/RGBController_AsusAuraHeadsetStand.cpp index 5792e051..a74d1499 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraHeadsetStandController/RGBController_AsusAuraHeadsetStand.cpp +++ b/Controllers/AsusAuraUSBController/AsusAuraHeadsetStandController/RGBController_AsusAuraHeadsetStand.cpp @@ -112,6 +112,8 @@ RGBController_AuraHeadsetStand::RGBController_AuraHeadsetStand(AuraHeadsetStandC RGBController_AuraHeadsetStand::~RGBController_AuraHeadsetStand() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraUSBController/AsusAuraKeyboardController/RGBController_AsusAuraKeyboard.cpp b/Controllers/AsusAuraUSBController/AsusAuraKeyboardController/RGBController_AsusAuraKeyboard.cpp index 7a085c7d..513d0878 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraKeyboardController/RGBController_AsusAuraKeyboard.cpp +++ b/Controllers/AsusAuraUSBController/AsusAuraKeyboardController/RGBController_AsusAuraKeyboard.cpp @@ -380,6 +380,8 @@ RGBController_AuraKeyboard::RGBController_AuraKeyboard(AuraKeyboardController* c RGBController_AuraKeyboard::~RGBController_AuraKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraUSBController/AsusAuraMonitorController/RGBController_AsusAuraMonitor.cpp b/Controllers/AsusAuraUSBController/AsusAuraMonitorController/RGBController_AsusAuraMonitor.cpp index 0d0241b8..b5957773 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraMonitorController/RGBController_AsusAuraMonitor.cpp +++ b/Controllers/AsusAuraUSBController/AsusAuraMonitorController/RGBController_AsusAuraMonitor.cpp @@ -45,6 +45,8 @@ RGBController_AuraMonitor::RGBController_AuraMonitor(AuraMonitorController* cont RGBController_AuraMonitor::~RGBController_AuraMonitor() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraUSBController/AsusAuraMouseController/RGBController_AsusAuraMouse.cpp b/Controllers/AsusAuraUSBController/AsusAuraMouseController/RGBController_AsusAuraMouse.cpp index 666d738a..1d5bc833 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraMouseController/RGBController_AsusAuraMouse.cpp +++ b/Controllers/AsusAuraUSBController/AsusAuraMouseController/RGBController_AsusAuraMouse.cpp @@ -185,6 +185,8 @@ RGBController_AuraMouse::RGBController_AuraMouse(AuraMouseController* controller RGBController_AuraMouse::~RGBController_AuraMouse() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraUSBController/AsusAuraMouseGen1Controller/RGBController_AsusROGSpatha.cpp b/Controllers/AsusAuraUSBController/AsusAuraMouseGen1Controller/RGBController_AsusROGSpatha.cpp index c7491c5a..785c2093 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraMouseGen1Controller/RGBController_AsusROGSpatha.cpp +++ b/Controllers/AsusAuraUSBController/AsusAuraMouseGen1Controller/RGBController_AsusROGSpatha.cpp @@ -116,6 +116,8 @@ RGBController_AsusROGSpatha::RGBController_AsusROGSpatha(AsusAuraMouseGen1Contro RGBController_AsusROGSpatha::~RGBController_AsusROGSpatha() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraUSBController/AsusAuraMouseGen1Controller/RGBController_AsusROGStrixEvolve.cpp b/Controllers/AsusAuraUSBController/AsusAuraMouseGen1Controller/RGBController_AsusROGStrixEvolve.cpp index 8b700c2a..978754b1 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraMouseGen1Controller/RGBController_AsusROGStrixEvolve.cpp +++ b/Controllers/AsusAuraUSBController/AsusAuraMouseGen1Controller/RGBController_AsusROGStrixEvolve.cpp @@ -79,6 +79,8 @@ RGBController_AsusROGStrixEvolve::RGBController_AsusROGStrixEvolve(AsusAuraMouse RGBController_AsusROGStrixEvolve::~RGBController_AsusROGStrixEvolve() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraUSBController/AsusAuraMousematController/RGBController_AsusAuraMousemat.cpp b/Controllers/AsusAuraUSBController/AsusAuraMousematController/RGBController_AsusAuraMousemat.cpp index 31f39f63..b81c1283 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraMousematController/RGBController_AsusAuraMousemat.cpp +++ b/Controllers/AsusAuraUSBController/AsusAuraMousematController/RGBController_AsusAuraMousemat.cpp @@ -182,6 +182,8 @@ RGBController_AuraMousemat::RGBController_AuraMousemat(AuraMousematController* c RGBController_AuraMousemat::~RGBController_AuraMousemat() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraUSBController/AsusAuraRyuoAIOController/RGBController_AsusAuraRyuoAIO.cpp b/Controllers/AsusAuraUSBController/AsusAuraRyuoAIOController/RGBController_AsusAuraRyuoAIO.cpp index f4b7ccba..3fe0acfb 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraRyuoAIOController/RGBController_AsusAuraRyuoAIO.cpp +++ b/Controllers/AsusAuraUSBController/AsusAuraRyuoAIOController/RGBController_AsusAuraRyuoAIO.cpp @@ -128,6 +128,8 @@ RGBController_AsusAuraRyuoAIO::RGBController_AsusAuraRyuoAIO(AsusAuraRyuoAIOCont RGBController_AsusAuraRyuoAIO::~RGBController_AsusAuraRyuoAIO() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraUSBController/AsusAuraTUFKeyboardController/RGBController_AsusAuraTUFKeyboard.cpp b/Controllers/AsusAuraUSBController/AsusAuraTUFKeyboardController/RGBController_AsusAuraTUFKeyboard.cpp index a2f38c0f..a6ecc600 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraTUFKeyboardController/RGBController_AsusAuraTUFKeyboard.cpp +++ b/Controllers/AsusAuraUSBController/AsusAuraTUFKeyboardController/RGBController_AsusAuraTUFKeyboard.cpp @@ -410,6 +410,8 @@ RGBController_AuraTUFKeyboard::RGBController_AuraTUFKeyboard(AuraTUFKeyboardCont RGBController_AuraTUFKeyboard::~RGBController_AuraTUFKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraUSBController/AsusAuraUSBController/RGBController_AsusAuraUSB.cpp b/Controllers/AsusAuraUSBController/AsusAuraUSBController/RGBController_AsusAuraUSB.cpp index 1a4f6ebe..3d1405c2 100644 --- a/Controllers/AsusAuraUSBController/AsusAuraUSBController/RGBController_AsusAuraUSB.cpp +++ b/Controllers/AsusAuraUSBController/AsusAuraUSBController/RGBController_AsusAuraUSB.cpp @@ -119,6 +119,8 @@ RGBController_AuraUSB::RGBController_AuraUSB(AuraUSBController* controller_ptr) RGBController_AuraUSB::~RGBController_AuraUSB() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraUSBController/AsusROGAllyController/RGBController_AsusROGAlly.cpp b/Controllers/AsusAuraUSBController/AsusROGAllyController/RGBController_AsusROGAlly.cpp index 2fa4a633..7dedc0c5 100644 --- a/Controllers/AsusAuraUSBController/AsusROGAllyController/RGBController_AsusROGAlly.cpp +++ b/Controllers/AsusAuraUSBController/AsusROGAllyController/RGBController_AsusROGAlly.cpp @@ -117,6 +117,8 @@ RGBController_AsusROGAlly::RGBController_AsusROGAlly(ROGAllyController* controll RGBController_AsusROGAlly::~RGBController_AsusROGAlly() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusAuraUSBController/AsusROGStrixLCController/RGBController_AsusROGStrixLC.cpp b/Controllers/AsusAuraUSBController/AsusROGStrixLCController/RGBController_AsusROGStrixLC.cpp index 0a8be887..ec66e988 100644 --- a/Controllers/AsusAuraUSBController/AsusROGStrixLCController/RGBController_AsusROGStrixLC.cpp +++ b/Controllers/AsusAuraUSBController/AsusROGStrixLCController/RGBController_AsusROGStrixLC.cpp @@ -129,6 +129,8 @@ RGBController_AsusROGStrixLC::RGBController_AsusROGStrixLC(AsusROGStrixLCControl RGBController_AsusROGStrixLC::~RGBController_AsusROGStrixLC() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusLegacyUSBController/AsusCerberusKeyboardController/RGBController_AsusCerberusKeyboard.cpp b/Controllers/AsusLegacyUSBController/AsusCerberusKeyboardController/RGBController_AsusCerberusKeyboard.cpp index 551ac8c2..0f3feaad 100644 --- a/Controllers/AsusLegacyUSBController/AsusCerberusKeyboardController/RGBController_AsusCerberusKeyboard.cpp +++ b/Controllers/AsusLegacyUSBController/AsusCerberusKeyboardController/RGBController_AsusCerberusKeyboard.cpp @@ -283,6 +283,8 @@ RGBController_AsusCerberusKeyboard::RGBController_AsusCerberusKeyboard(AsusCerbe RGBController_AsusCerberusKeyboard::~RGBController_AsusCerberusKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusLegacyUSBController/AsusSagarisKeyboardController/RGBController_AsusSagarisKeyboard.cpp b/Controllers/AsusLegacyUSBController/AsusSagarisKeyboardController/RGBController_AsusSagarisKeyboard.cpp index 1cd14a98..8408f3bf 100644 --- a/Controllers/AsusLegacyUSBController/AsusSagarisKeyboardController/RGBController_AsusSagarisKeyboard.cpp +++ b/Controllers/AsusLegacyUSBController/AsusSagarisKeyboardController/RGBController_AsusSagarisKeyboard.cpp @@ -165,6 +165,8 @@ RGBController_AsusSagarisKeyboard::RGBController_AsusSagarisKeyboard(AsusSagaris RGBController_AsusSagarisKeyboard::~RGBController_AsusSagarisKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusMonitorController/RGBController_AsusMonitor.cpp b/Controllers/AsusMonitorController/RGBController_AsusMonitor.cpp index bd8a0ad4..92168011 100644 --- a/Controllers/AsusMonitorController/RGBController_AsusMonitor.cpp +++ b/Controllers/AsusMonitorController/RGBController_AsusMonitor.cpp @@ -46,6 +46,8 @@ RGBController_AsusMonitor::RGBController_AsusMonitor(AsusMonitorController* cont RGBController_AsusMonitor::~RGBController_AsusMonitor() { + Shutdown(); + delete controller; } diff --git a/Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Linux.cpp b/Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Linux.cpp index 4761f82a..54a6f720 100644 --- a/Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Linux.cpp +++ b/Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Linux.cpp @@ -92,6 +92,13 @@ RGBController_AsusTUFLaptopLinux::RGBController_AsusTUFLaptopLinux(AsusTUFLaptop SetupZones(); } +RGBController_AsusTUFLaptopLinux::~RGBController_AsusTUFLaptopLinux() +{ + Shutdown(); + + delete controller; +} + void RGBController_AsusTUFLaptopLinux::SetupZones() { /*---------------------------------------------------------*\ diff --git a/Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Linux.h b/Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Linux.h index f7b0071b..09437bfa 100644 --- a/Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Linux.h +++ b/Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Linux.h @@ -16,6 +16,7 @@ class RGBController_AsusTUFLaptopLinux : public RGBController { public: RGBController_AsusTUFLaptopLinux(AsusTUFLaptopLinuxController* controller_ptr); + ~RGBController_AsusTUFLaptopLinux(); void SetupZones(); diff --git a/Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Windows.cpp b/Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Windows.cpp index 6cd4a13c..b6f96caf 100644 --- a/Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Windows.cpp +++ b/Controllers/AsusTUFLaptopController/RGBController_AsusTUFLaptop_Windows.cpp @@ -85,6 +85,8 @@ RGBController_AsusTUFLaptopWMI::RGBController_AsusTUFLaptopWMI(AsusTUFLaptopCont RGBController_AsusTUFLaptopWMI::~RGBController_AsusTUFLaptopWMI() { + Shutdown(); + delete controller; } diff --git a/Controllers/BlinkyTapeController/RGBController_BlinkyTape.cpp b/Controllers/BlinkyTapeController/RGBController_BlinkyTape.cpp index 99695bae..0835df07 100644 --- a/Controllers/BlinkyTapeController/RGBController_BlinkyTape.cpp +++ b/Controllers/BlinkyTapeController/RGBController_BlinkyTape.cpp @@ -44,6 +44,8 @@ RGBController_BlinkyTape::RGBController_BlinkyTape(BlinkyTapeController* control RGBController_BlinkyTape::~RGBController_BlinkyTape() { + Shutdown(); + delete controller; } diff --git a/Controllers/CherryKeyboardController/RGBController_CherryKeyboard.cpp b/Controllers/CherryKeyboardController/RGBController_CherryKeyboard.cpp index 280f15f3..8a162647 100644 --- a/Controllers/CherryKeyboardController/RGBController_CherryKeyboard.cpp +++ b/Controllers/CherryKeyboardController/RGBController_CherryKeyboard.cpp @@ -312,6 +312,8 @@ RGBController_CherryKeyboard::RGBController_CherryKeyboard(CherryKeyboardControl RGBController_CherryKeyboard::~RGBController_CherryKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/ClevoKeyboardController/RGBController_ClevoKeyboard.cpp b/Controllers/ClevoKeyboardController/RGBController_ClevoKeyboard.cpp index e3367405..142dec64 100644 --- a/Controllers/ClevoKeyboardController/RGBController_ClevoKeyboard.cpp +++ b/Controllers/ClevoKeyboardController/RGBController_ClevoKeyboard.cpp @@ -199,6 +199,8 @@ RGBController_ClevoKeyboard::RGBController_ClevoKeyboard(ClevoKeyboardController RGBController_ClevoKeyboard::~RGBController_ClevoKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/ClevoLightbarController/RGBController_ClevoLightbar.cpp b/Controllers/ClevoLightbarController/RGBController_ClevoLightbar.cpp index 68fabb2f..7558950c 100644 --- a/Controllers/ClevoLightbarController/RGBController_ClevoLightbar.cpp +++ b/Controllers/ClevoLightbarController/RGBController_ClevoLightbar.cpp @@ -121,6 +121,8 @@ RGBController_ClevoLightbar::RGBController_ClevoLightbar(ClevoLightbarController RGBController_ClevoLightbar::~RGBController_ClevoLightbar() { + Shutdown(); + delete controller; } diff --git a/Controllers/ColorfulGPUController/RGBController_ColorfulGPU.cpp b/Controllers/ColorfulGPUController/RGBController_ColorfulGPU.cpp index 20e070e6..90579bdb 100644 --- a/Controllers/ColorfulGPUController/RGBController_ColorfulGPU.cpp +++ b/Controllers/ColorfulGPUController/RGBController_ColorfulGPU.cpp @@ -44,6 +44,8 @@ RGBController_ColorfulGPU::RGBController_ColorfulGPU(ColorfulGPUController * col RGBController_ColorfulGPU::~RGBController_ColorfulGPU() { + Shutdown(); + delete controller; } diff --git a/Controllers/ColorfulTuringGPUController/RGBController_ColorfulTuringGPU.cpp b/Controllers/ColorfulTuringGPUController/RGBController_ColorfulTuringGPU.cpp index 59acc459..09b79960 100644 --- a/Controllers/ColorfulTuringGPUController/RGBController_ColorfulTuringGPU.cpp +++ b/Controllers/ColorfulTuringGPUController/RGBController_ColorfulTuringGPU.cpp @@ -75,6 +75,8 @@ RGBController_ColorfulTuringGPU::RGBController_ColorfulTuringGPU(ColorfulTuringG RGBController_ColorfulTuringGPU::~RGBController_ColorfulTuringGPU() { + Shutdown(); + delete controller; } diff --git a/Controllers/CoolerMasterController/CMARGBController/RGBController_CMARGBController.cpp b/Controllers/CoolerMasterController/CMARGBController/RGBController_CMARGBController.cpp index 90f0954b..0e4a4369 100644 --- a/Controllers/CoolerMasterController/CMARGBController/RGBController_CMARGBController.cpp +++ b/Controllers/CoolerMasterController/CMARGBController/RGBController_CMARGBController.cpp @@ -88,6 +88,8 @@ RGBController_CMARGBController::RGBController_CMARGBController(CMARGBController* RGBController_CMARGBController::~RGBController_CMARGBController() { + Shutdown(); + delete controller; } diff --git a/Controllers/CoolerMasterController/CMARGBGen2A1Controller/RGBController_CMARGBGen2A1Controller.cpp b/Controllers/CoolerMasterController/CMARGBGen2A1Controller/RGBController_CMARGBGen2A1Controller.cpp index 7bbeeb18..edb922cc 100644 --- a/Controllers/CoolerMasterController/CMARGBGen2A1Controller/RGBController_CMARGBGen2A1Controller.cpp +++ b/Controllers/CoolerMasterController/CMARGBGen2A1Controller/RGBController_CMARGBGen2A1Controller.cpp @@ -186,6 +186,8 @@ RGBController_CMARGBGen2A1Controller::RGBController_CMARGBGen2A1Controller(CMARG RGBController_CMARGBGen2A1Controller::~RGBController_CMARGBGen2A1Controller() { + Shutdown(); + delete controller; } diff --git a/Controllers/CoolerMasterController/CMGD160Controller/RGBController_CMGD160Controller.cpp b/Controllers/CoolerMasterController/CMGD160Controller/RGBController_CMGD160Controller.cpp index 243b5952..b324b04c 100644 --- a/Controllers/CoolerMasterController/CMGD160Controller/RGBController_CMGD160Controller.cpp +++ b/Controllers/CoolerMasterController/CMGD160Controller/RGBController_CMGD160Controller.cpp @@ -140,6 +140,8 @@ RGBController_CMGD160Controller::RGBController_CMGD160Controller(CMGD160Controll RGBController_CMGD160Controller::~RGBController_CMGD160Controller() { + Shutdown(); + delete controller; } diff --git a/Controllers/CoolerMasterController/CMKeyboardController/RGBController_CMKeyboardController.cpp b/Controllers/CoolerMasterController/CMKeyboardController/RGBController_CMKeyboardController.cpp index 90c99634..af2e8893 100644 --- a/Controllers/CoolerMasterController/CMKeyboardController/RGBController_CMKeyboardController.cpp +++ b/Controllers/CoolerMasterController/CMKeyboardController/RGBController_CMKeyboardController.cpp @@ -49,6 +49,8 @@ RGBController_CMKeyboardController::RGBController_CMKeyboardController(CMKeyboar RGBController_CMKeyboardController::~RGBController_CMKeyboardController() { + Shutdown(); + if(m_pController) { delete m_pController; diff --git a/Controllers/CoolerMasterController/CMMM711Controller/RGBController_CMMM711Controller.cpp b/Controllers/CoolerMasterController/CMMM711Controller/RGBController_CMMM711Controller.cpp index 9b149099..e73fbf5b 100644 --- a/Controllers/CoolerMasterController/CMMM711Controller/RGBController_CMMM711Controller.cpp +++ b/Controllers/CoolerMasterController/CMMM711Controller/RGBController_CMMM711Controller.cpp @@ -129,6 +129,8 @@ RGBController_CMMM711Controller::RGBController_CMMM711Controller(CMMM711Controll RGBController_CMMM711Controller::~RGBController_CMMM711Controller() { + Shutdown(); + delete controller; } diff --git a/Controllers/CoolerMasterController/CMMM712Controller/RGBController_CMMM712Controller.cpp b/Controllers/CoolerMasterController/CMMM712Controller/RGBController_CMMM712Controller.cpp index 4712d6b1..14ac338d 100644 --- a/Controllers/CoolerMasterController/CMMM712Controller/RGBController_CMMM712Controller.cpp +++ b/Controllers/CoolerMasterController/CMMM712Controller/RGBController_CMMM712Controller.cpp @@ -122,6 +122,8 @@ RGBController_CMMM712Controller::RGBController_CMMM712Controller(CMMM712Controll RGBController_CMMM712Controller::~RGBController_CMMM712Controller() { + Shutdown(); + delete controller; } diff --git a/Controllers/CoolerMasterController/CMMMController/RGBController_CMMMController.cpp b/Controllers/CoolerMasterController/CMMMController/RGBController_CMMMController.cpp index ed7dc088..84f90b34 100644 --- a/Controllers/CoolerMasterController/CMMMController/RGBController_CMMMController.cpp +++ b/Controllers/CoolerMasterController/CMMMController/RGBController_CMMMController.cpp @@ -168,6 +168,8 @@ RGBController_CMMMController::RGBController_CMMMController(CMMMController* contr RGBController_CMMMController::~RGBController_CMMMController() { + Shutdown(); + delete controller; } diff --git a/Controllers/CoolerMasterController/CMMP750Controller/RGBController_CMMP750Controller.cpp b/Controllers/CoolerMasterController/CMMP750Controller/RGBController_CMMP750Controller.cpp index 56913d95..30aa4b08 100644 --- a/Controllers/CoolerMasterController/CMMP750Controller/RGBController_CMMP750Controller.cpp +++ b/Controllers/CoolerMasterController/CMMP750Controller/RGBController_CMMP750Controller.cpp @@ -93,6 +93,8 @@ RGBController_CMMP750Controller::RGBController_CMMP750Controller(CMMP750Controll RGBController_CMMP750Controller::~RGBController_CMMP750Controller() { + Shutdown(); + delete controller; } diff --git a/Controllers/CoolerMasterController/CMMonitorController/RGBController_CMMonitorController.cpp b/Controllers/CoolerMasterController/CMMonitorController/RGBController_CMMonitorController.cpp index bd802058..073195aa 100644 --- a/Controllers/CoolerMasterController/CMMonitorController/RGBController_CMMonitorController.cpp +++ b/Controllers/CoolerMasterController/CMMonitorController/RGBController_CMMonitorController.cpp @@ -141,6 +141,8 @@ RGBController_CMMonitorController::RGBController_CMMonitorController(CMMonitorCo RGBController_CMMonitorController::~RGBController_CMMonitorController() { + Shutdown(); + delete controller; } diff --git a/Controllers/CoolerMasterController/CMR6000Controller/RGBController_CMR6000Controller.cpp b/Controllers/CoolerMasterController/CMR6000Controller/RGBController_CMR6000Controller.cpp index a42a9717..728b11a0 100644 --- a/Controllers/CoolerMasterController/CMR6000Controller/RGBController_CMR6000Controller.cpp +++ b/Controllers/CoolerMasterController/CMR6000Controller/RGBController_CMR6000Controller.cpp @@ -152,6 +152,8 @@ RGBController_CMR6000Controller::RGBController_CMR6000Controller(CMR6000Controll RGBController_CMR6000Controller::~RGBController_CMR6000Controller() { + Shutdown(); + delete controller; } diff --git a/Controllers/CoolerMasterController/CMRGBController/RGBController_CMRGBController.cpp b/Controllers/CoolerMasterController/CMRGBController/RGBController_CMRGBController.cpp index a4d940e1..9c3d73b4 100644 --- a/Controllers/CoolerMasterController/CMRGBController/RGBController_CMRGBController.cpp +++ b/Controllers/CoolerMasterController/CMRGBController/RGBController_CMRGBController.cpp @@ -153,6 +153,8 @@ RGBController_CMRGBController::RGBController_CMRGBController(CMRGBController* co RGBController_CMRGBController::~RGBController_CMRGBController() { + Shutdown(); + delete controller; } diff --git a/Controllers/CoolerMasterController/CMSmallARGBController/RGBController_CMSmallARGBController.cpp b/Controllers/CoolerMasterController/CMSmallARGBController/RGBController_CMSmallARGBController.cpp index 869dcb7e..0eaadc84 100644 --- a/Controllers/CoolerMasterController/CMSmallARGBController/RGBController_CMSmallARGBController.cpp +++ b/Controllers/CoolerMasterController/CMSmallARGBController/RGBController_CMSmallARGBController.cpp @@ -181,6 +181,8 @@ RGBController_CMSmallARGBController::RGBController_CMSmallARGBController(CMSmall RGBController_CMSmallARGBController::~RGBController_CMSmallARGBController() { + Shutdown(); + delete controller; } diff --git a/Controllers/CorsairCommanderCoreController/RGBController_CorsairCommanderCore.cpp b/Controllers/CorsairCommanderCoreController/RGBController_CorsairCommanderCore.cpp index b4ea5f9e..18d71407 100644 --- a/Controllers/CorsairCommanderCoreController/RGBController_CorsairCommanderCore.cpp +++ b/Controllers/CorsairCommanderCoreController/RGBController_CorsairCommanderCore.cpp @@ -71,6 +71,8 @@ RGBController_CorsairCommanderCore::RGBController_CorsairCommanderCore(CorsairCo RGBController_CorsairCommanderCore::~RGBController_CorsairCommanderCore() { + Shutdown(); + delete controller; } diff --git a/Controllers/CorsairDRAMController/RGBController_CorsairDRAM.cpp b/Controllers/CorsairDRAMController/RGBController_CorsairDRAM.cpp index fe5b4397..a469d2cf 100644 --- a/Controllers/CorsairDRAMController/RGBController_CorsairDRAM.cpp +++ b/Controllers/CorsairDRAMController/RGBController_CorsairDRAM.cpp @@ -203,6 +203,8 @@ RGBController_CorsairDRAM::RGBController_CorsairDRAM(CorsairDRAMController* cont RGBController_CorsairDRAM::~RGBController_CorsairDRAM() { + Shutdown(); + delete controller; } diff --git a/Controllers/CorsairHydro2Controller/RGBController_CorsairHydro2.cpp b/Controllers/CorsairHydro2Controller/RGBController_CorsairHydro2.cpp index e732a9c3..36f7886a 100644 --- a/Controllers/CorsairHydro2Controller/RGBController_CorsairHydro2.cpp +++ b/Controllers/CorsairHydro2Controller/RGBController_CorsairHydro2.cpp @@ -44,6 +44,8 @@ RGBController_CorsairHydro2::RGBController_CorsairHydro2(CorsairHydro2Controller RGBController_CorsairHydro2::~RGBController_CorsairHydro2() { + Shutdown(); + delete controller; } diff --git a/Controllers/CorsairHydroController/RGBController_CorsairHydro.cpp b/Controllers/CorsairHydroController/RGBController_CorsairHydro.cpp index 5008aa97..90f08427 100644 --- a/Controllers/CorsairHydroController/RGBController_CorsairHydro.cpp +++ b/Controllers/CorsairHydroController/RGBController_CorsairHydro.cpp @@ -84,6 +84,8 @@ RGBController_CorsairHydro::RGBController_CorsairHydro(CorsairHydroController* c RGBController_CorsairHydro::~RGBController_CorsairHydro() { + Shutdown(); + delete controller; } diff --git a/Controllers/CorsairHydroPlatinumController/RGBController_CorsairHydroPlatinum.cpp b/Controllers/CorsairHydroPlatinumController/RGBController_CorsairHydroPlatinum.cpp index e3f4f58c..7872f451 100644 --- a/Controllers/CorsairHydroPlatinumController/RGBController_CorsairHydroPlatinum.cpp +++ b/Controllers/CorsairHydroPlatinumController/RGBController_CorsairHydroPlatinum.cpp @@ -57,6 +57,8 @@ RGBController_CorsairHydroPlatinum::RGBController_CorsairHydroPlatinum(CorsairHy RGBController_CorsairHydroPlatinum::~RGBController_CorsairHydroPlatinum() { + Shutdown(); + delete controller; } diff --git a/Controllers/CorsairICueLinkController/RGBController_CorsairICueLink.cpp b/Controllers/CorsairICueLinkController/RGBController_CorsairICueLink.cpp index fc980174..5b4fb4ef 100644 --- a/Controllers/CorsairICueLinkController/RGBController_CorsairICueLink.cpp +++ b/Controllers/CorsairICueLinkController/RGBController_CorsairICueLink.cpp @@ -54,6 +54,8 @@ RGBController_CorsairICueLink::RGBController_CorsairICueLink(CorsairICueLinkCont RGBController_CorsairICueLink::~RGBController_CorsairICueLink() { + Shutdown(); + keepalive_thread_run = 0; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/CorsairLightingNodeController/RGBController_CorsairLightingNode.cpp b/Controllers/CorsairLightingNodeController/RGBController_CorsairLightingNode.cpp index 1ef706e9..ffd73943 100644 --- a/Controllers/CorsairLightingNodeController/RGBController_CorsairLightingNode.cpp +++ b/Controllers/CorsairLightingNodeController/RGBController_CorsairLightingNode.cpp @@ -40,6 +40,8 @@ RGBController_CorsairLightingNode::RGBController_CorsairLightingNode(CorsairLigh RGBController_CorsairLightingNode::~RGBController_CorsairLightingNode() { + Shutdown(); + delete controller; } diff --git a/Controllers/CorsairPeripheralController/RGBController_CorsairK55RGBPROXT.cpp b/Controllers/CorsairPeripheralController/RGBController_CorsairK55RGBPROXT.cpp index 2a644df1..8ea412b0 100644 --- a/Controllers/CorsairPeripheralController/RGBController_CorsairK55RGBPROXT.cpp +++ b/Controllers/CorsairPeripheralController/RGBController_CorsairK55RGBPROXT.cpp @@ -353,6 +353,8 @@ RGBController_CorsairK55RGBPROXT::RGBController_CorsairK55RGBPROXT(CorsairK55RGB RGBController_CorsairK55RGBPROXT::~RGBController_CorsairK55RGBPROXT() { + Shutdown(); + /*-----------------------------------------------------*\ | Close keepalive thread | \*-----------------------------------------------------*/ diff --git a/Controllers/CorsairPeripheralController/RGBController_CorsairK65Mini.cpp b/Controllers/CorsairPeripheralController/RGBController_CorsairK65Mini.cpp index aaff4687..1ff93e1e 100644 --- a/Controllers/CorsairPeripheralController/RGBController_CorsairK65Mini.cpp +++ b/Controllers/CorsairPeripheralController/RGBController_CorsairK65Mini.cpp @@ -166,6 +166,8 @@ RGBController_CorsairK65Mini::RGBController_CorsairK65Mini(CorsairK65MiniControl RGBController_CorsairK65Mini::~RGBController_CorsairK65Mini() { + Shutdown(); + /*-----------------------------------------------------*\ | Close keepalive thread | \*-----------------------------------------------------*/ diff --git a/Controllers/CorsairPeripheralController/RGBController_CorsairPeripheral.cpp b/Controllers/CorsairPeripheralController/RGBController_CorsairPeripheral.cpp index 899f18cd..5a228c31 100644 --- a/Controllers/CorsairPeripheralController/RGBController_CorsairPeripheral.cpp +++ b/Controllers/CorsairPeripheralController/RGBController_CorsairPeripheral.cpp @@ -929,6 +929,8 @@ RGBController_CorsairPeripheral::RGBController_CorsairPeripheral(CorsairPeripher RGBController_CorsairPeripheral::~RGBController_CorsairPeripheral() { + Shutdown(); + delete controller; } diff --git a/Controllers/CorsairPeripheralV2Controller/RGBController_CorsairV2Hardware.cpp b/Controllers/CorsairPeripheralV2Controller/RGBController_CorsairV2Hardware.cpp index 789c6216..4dc34f12 100644 --- a/Controllers/CorsairPeripheralV2Controller/RGBController_CorsairV2Hardware.cpp +++ b/Controllers/CorsairPeripheralV2Controller/RGBController_CorsairV2Hardware.cpp @@ -72,6 +72,8 @@ RGBController_CorsairV2HW::RGBController_CorsairV2HW(CorsairPeripheralV2Controll RGBController_CorsairV2HW::~RGBController_CorsairV2HW() { + Shutdown(); + /*-----------------------------------------------------*\ | Close keepalive thread | \*-----------------------------------------------------*/ diff --git a/Controllers/CorsairPeripheralV2Controller/RGBController_CorsairV2Software.cpp b/Controllers/CorsairPeripheralV2Controller/RGBController_CorsairV2Software.cpp index 41b5c10b..93f64bb5 100644 --- a/Controllers/CorsairPeripheralV2Controller/RGBController_CorsairV2Software.cpp +++ b/Controllers/CorsairPeripheralV2Controller/RGBController_CorsairV2Software.cpp @@ -59,6 +59,8 @@ RGBController_CorsairV2SW::RGBController_CorsairV2SW(CorsairPeripheralV2Controll RGBController_CorsairV2SW::~RGBController_CorsairV2SW() { + Shutdown(); + /*-----------------------------------------------------*\ | Close keepalive thread | \*-----------------------------------------------------*/ diff --git a/Controllers/CorsairVengeanceController/RGBController_CorsairVengeance.cpp b/Controllers/CorsairVengeanceController/RGBController_CorsairVengeance.cpp index 0e895a53..e64c3f63 100644 --- a/Controllers/CorsairVengeanceController/RGBController_CorsairVengeance.cpp +++ b/Controllers/CorsairVengeanceController/RGBController_CorsairVengeance.cpp @@ -59,6 +59,8 @@ RGBController_CorsairVengeance::RGBController_CorsairVengeance(CorsairVengeanceC RGBController_CorsairVengeance::~RGBController_CorsairVengeance() { + Shutdown(); + delete controller; } diff --git a/Controllers/CorsairWirelessController/RGBController_CorsairWireless.cpp b/Controllers/CorsairWirelessController/RGBController_CorsairWireless.cpp index 58898487..cfdf0b41 100644 --- a/Controllers/CorsairWirelessController/RGBController_CorsairWireless.cpp +++ b/Controllers/CorsairWirelessController/RGBController_CorsairWireless.cpp @@ -226,6 +226,8 @@ RGBController_CorsairWireless::RGBController_CorsairWireless(CorsairWirelessCont RGBController_CorsairWireless::~RGBController_CorsairWireless() { + Shutdown(); + /*-----------------------------------------------------*\ | Close keepalive thread | \*-----------------------------------------------------*/ diff --git a/Controllers/CougarController/CougarKeyboardController/RGBController_CougarKeyboard.cpp b/Controllers/CougarController/CougarKeyboardController/RGBController_CougarKeyboard.cpp index c4b262a6..fb707c78 100644 --- a/Controllers/CougarController/CougarKeyboardController/RGBController_CougarKeyboard.cpp +++ b/Controllers/CougarController/CougarKeyboardController/RGBController_CougarKeyboard.cpp @@ -375,6 +375,8 @@ RGBController_CougarKeyboard::RGBController_CougarKeyboard(CougarKeyboardControl RGBController_CougarKeyboard::~RGBController_CougarKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/CougarController/CougarRevengerSTController/RGBController_CougarRevengerST.cpp b/Controllers/CougarController/CougarRevengerSTController/RGBController_CougarRevengerST.cpp index b7f4181a..326ccf42 100644 --- a/Controllers/CougarController/CougarRevengerSTController/RGBController_CougarRevengerST.cpp +++ b/Controllers/CougarController/CougarRevengerSTController/RGBController_CougarRevengerST.cpp @@ -107,6 +107,8 @@ RGBController_CougarRevengerST::RGBController_CougarRevengerST(CougarRevengerSTC RGBController_CougarRevengerST::~RGBController_CougarRevengerST() { + Shutdown(); + delete controller; } diff --git a/Controllers/CreativeController/RGBController_CreativeSoundBlasterAE5_Windows.cpp b/Controllers/CreativeController/RGBController_CreativeSoundBlasterAE5_Windows.cpp index 607ced0f..580d9961 100644 --- a/Controllers/CreativeController/RGBController_CreativeSoundBlasterAE5_Windows.cpp +++ b/Controllers/CreativeController/RGBController_CreativeSoundBlasterAE5_Windows.cpp @@ -43,6 +43,8 @@ RGBController_CreativeSoundBlasterAE5::RGBController_CreativeSoundBlasterAE5(Cre RGBController_CreativeSoundBlasterAE5::~RGBController_CreativeSoundBlasterAE5() { + Shutdown(); + delete controller; } diff --git a/Controllers/CreativeController/RGBController_CreativeSoundBlasterXG6.cpp b/Controllers/CreativeController/RGBController_CreativeSoundBlasterXG6.cpp index bf5a5539..11010e51 100644 --- a/Controllers/CreativeController/RGBController_CreativeSoundBlasterXG6.cpp +++ b/Controllers/CreativeController/RGBController_CreativeSoundBlasterXG6.cpp @@ -46,6 +46,8 @@ RGBController_CreativeSoundBlasterXG6::RGBController_CreativeSoundBlasterXG6(Cre RGBController_CreativeSoundBlasterXG6::~RGBController_CreativeSoundBlasterXG6() { + Shutdown(); + delete controller; } diff --git a/Controllers/CrucialController/RGBController_Crucial.cpp b/Controllers/CrucialController/RGBController_Crucial.cpp index 9d46be61..ddfbd4e2 100644 --- a/Controllers/CrucialController/RGBController_Crucial.cpp +++ b/Controllers/CrucialController/RGBController_Crucial.cpp @@ -129,6 +129,8 @@ RGBController_Crucial::RGBController_Crucial(CrucialController* controller_ptr) RGBController_Crucial::~RGBController_Crucial() { + Shutdown(); + delete controller; } diff --git a/Controllers/CryorigH7QuadLumiController/RGBController_CryorigH7QuadLumi.cpp b/Controllers/CryorigH7QuadLumiController/RGBController_CryorigH7QuadLumi.cpp index 7b7a5094..c7f38ad3 100644 --- a/Controllers/CryorigH7QuadLumiController/RGBController_CryorigH7QuadLumi.cpp +++ b/Controllers/CryorigH7QuadLumiController/RGBController_CryorigH7QuadLumi.cpp @@ -40,6 +40,8 @@ RGBController_CryorigH7QuadLumi::RGBController_CryorigH7QuadLumi(CryorigH7QuadLu RGBController_CryorigH7QuadLumi::~RGBController_CryorigH7QuadLumi() { + Shutdown(); + delete controller; } diff --git a/Controllers/DDPController/RGBController_DDP.cpp b/Controllers/DDPController/RGBController_DDP.cpp index fefc256c..356dcab0 100644 --- a/Controllers/DDPController/RGBController_DDP.cpp +++ b/Controllers/DDPController/RGBController_DDP.cpp @@ -52,6 +52,8 @@ RGBController_DDP::RGBController_DDP(std::vector device_list) RGBController_DDP::~RGBController_DDP() { + Shutdown(); + delete controller; } diff --git a/Controllers/DMXController/RGBController_DMX.cpp b/Controllers/DMXController/RGBController_DMX.cpp index 9db7b520..699a6986 100644 --- a/Controllers/DMXController/RGBController_DMX.cpp +++ b/Controllers/DMXController/RGBController_DMX.cpp @@ -101,6 +101,8 @@ RGBController_DMX::RGBController_DMX(std::vector device_list) RGBController_DMX::~RGBController_DMX() { + Shutdown(); + if(keepalive_thread != nullptr) { keepalive_thread_run = 0; diff --git a/Controllers/DRGBController/RGBController_DRGB.cpp b/Controllers/DRGBController/RGBController_DRGB.cpp index 30ef453b..440ddafd 100644 --- a/Controllers/DRGBController/RGBController_DRGB.cpp +++ b/Controllers/DRGBController/RGBController_DRGB.cpp @@ -48,6 +48,8 @@ RGBController_DRGB::RGBController_DRGB(DRGBController* controller_ptr) RGBController_DRGB::~RGBController_DRGB() { + Shutdown(); + delete controller; } diff --git a/Controllers/DarkProject/RGBController_DarkProjectKeyboard.cpp b/Controllers/DarkProject/RGBController_DarkProjectKeyboard.cpp index a9e9675c..f5be1477 100644 --- a/Controllers/DarkProject/RGBController_DarkProjectKeyboard.cpp +++ b/Controllers/DarkProject/RGBController_DarkProjectKeyboard.cpp @@ -153,6 +153,8 @@ RGBController_DarkProjectKeyboard::RGBController_DarkProjectKeyboard(DarkProject RGBController_DarkProjectKeyboard::~RGBController_DarkProjectKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/DasKeyboardController/RGBController_DasKeyboard.cpp b/Controllers/DasKeyboardController/RGBController_DasKeyboard.cpp index 8cadb39d..74897c21 100644 --- a/Controllers/DasKeyboardController/RGBController_DasKeyboard.cpp +++ b/Controllers/DasKeyboardController/RGBController_DasKeyboard.cpp @@ -248,6 +248,8 @@ RGBController_DasKeyboard::RGBController_DasKeyboard(DasKeyboardController* cont RGBController_DasKeyboard::~RGBController_DasKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/DebugController/RGBController_Debug.cpp b/Controllers/DebugController/RGBController_Debug.cpp index c3584c07..4009e8e4 100644 --- a/Controllers/DebugController/RGBController_Debug.cpp +++ b/Controllers/DebugController/RGBController_Debug.cpp @@ -548,7 +548,7 @@ RGBController_Debug::RGBController_Debug(bool custom_controller, json debug_sett RGBController_Debug::~RGBController_Debug() { - + Shutdown(); } void RGBController_Debug::DeviceResizeZone(int index, int new_size) diff --git a/Controllers/DreamCheekyController/RGBController_DreamCheeky.cpp b/Controllers/DreamCheekyController/RGBController_DreamCheeky.cpp index 63dd861e..eecdaf53 100644 --- a/Controllers/DreamCheekyController/RGBController_DreamCheeky.cpp +++ b/Controllers/DreamCheekyController/RGBController_DreamCheeky.cpp @@ -34,7 +34,9 @@ RGBController_DreamCheeky::RGBController_DreamCheeky(DreamCheekyController* cont RGBController_DreamCheeky::~RGBController_DreamCheeky() { + Shutdown(); + delete controller; } void RGBController_DreamCheeky::SetupZones() diff --git a/Controllers/DuckyKeyboardController/RGBController_DuckyKeyboard.cpp b/Controllers/DuckyKeyboardController/RGBController_DuckyKeyboard.cpp index 34553019..0971bad9 100644 --- a/Controllers/DuckyKeyboardController/RGBController_DuckyKeyboard.cpp +++ b/Controllers/DuckyKeyboardController/RGBController_DuckyKeyboard.cpp @@ -222,6 +222,8 @@ RGBController_DuckyKeyboard::RGBController_DuckyKeyboard(DuckyKeyboardController RGBController_DuckyKeyboard::~RGBController_DuckyKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/DygmaRaiseController/RGBController_DygmaRaise.cpp b/Controllers/DygmaRaiseController/RGBController_DygmaRaise.cpp index 6d951ac8..c859c80a 100644 --- a/Controllers/DygmaRaiseController/RGBController_DygmaRaise.cpp +++ b/Controllers/DygmaRaiseController/RGBController_DygmaRaise.cpp @@ -164,6 +164,8 @@ RGBController_DygmaRaise::RGBController_DygmaRaise(DygmaRaiseController* control RGBController_DygmaRaise::~RGBController_DygmaRaise() { + Shutdown(); + delete controller; } diff --git a/Controllers/E131Controller/RGBController_E131.cpp b/Controllers/E131Controller/RGBController_E131.cpp index 0f8471f5..9e7ba6ea 100644 --- a/Controllers/E131Controller/RGBController_E131.cpp +++ b/Controllers/E131Controller/RGBController_E131.cpp @@ -310,6 +310,8 @@ RGBController_E131::RGBController_E131(std::vector device_list) RGBController_E131::~RGBController_E131() { + Shutdown(); + if(keepalive_thread != nullptr) { keepalive_thread_run = 0; diff --git a/Controllers/EKController/RGBController_EKController.cpp b/Controllers/EKController/RGBController_EKController.cpp index 9b8a4b67..a1d772de 100644 --- a/Controllers/EKController/RGBController_EKController.cpp +++ b/Controllers/EKController/RGBController_EKController.cpp @@ -125,6 +125,8 @@ RGBController_EKController::RGBController_EKController(EKController* controller_ RGBController_EKController::~RGBController_EKController() { + Shutdown(); + delete controller; } diff --git a/Controllers/ENESMBusController/RGBController_ENESMBus.cpp b/Controllers/ENESMBusController/RGBController_ENESMBus.cpp index 4a0415f6..65fe1b56 100644 --- a/Controllers/ENESMBusController/RGBController_ENESMBus.cpp +++ b/Controllers/ENESMBusController/RGBController_ENESMBus.cpp @@ -191,6 +191,8 @@ RGBController_ENESMBus::RGBController_ENESMBus(ENESMBusController * controller_p RGBController_ENESMBus::~RGBController_ENESMBus() { + Shutdown(); + delete controller; } diff --git a/Controllers/EVGAAmpereGPUController/RGBController_EVGAGPUv3.cpp b/Controllers/EVGAAmpereGPUController/RGBController_EVGAGPUv3.cpp index 22c88a58..dc68392b 100644 --- a/Controllers/EVGAAmpereGPUController/RGBController_EVGAGPUv3.cpp +++ b/Controllers/EVGAAmpereGPUController/RGBController_EVGAGPUv3.cpp @@ -205,6 +205,8 @@ RGBController_EVGAGPUv3::RGBController_EVGAGPUv3(EVGAGPUv3Controller* controller RGBController_EVGAGPUv3::~RGBController_EVGAGPUv3() { + Shutdown(); + delete controller; } diff --git a/Controllers/EVGAGP102GPUController/RGBController_EVGAGP102.cpp b/Controllers/EVGAGP102GPUController/RGBController_EVGAGP102.cpp index c3496eaf..e06b451e 100644 --- a/Controllers/EVGAGP102GPUController/RGBController_EVGAGP102.cpp +++ b/Controllers/EVGAGP102GPUController/RGBController_EVGAGP102.cpp @@ -77,6 +77,8 @@ RGBController_EVGAGP102::RGBController_EVGAGP102(std::vectorjoin(); delete keepalive_thread; diff --git a/Controllers/GaiZongGaiKeyboardController/RGBController_GaiZhongGai.cpp b/Controllers/GaiZongGaiKeyboardController/RGBController_GaiZhongGai.cpp index 1314d734..089efe7e 100644 --- a/Controllers/GaiZongGaiKeyboardController/RGBController_GaiZhongGai.cpp +++ b/Controllers/GaiZongGaiKeyboardController/RGBController_GaiZhongGai.cpp @@ -451,6 +451,8 @@ RGBController_GaiZhongGaiKeyboard::RGBController_GaiZhongGaiKeyboard(GaiZhongGai RGBController_GaiZhongGaiKeyboard::~RGBController_GaiZhongGaiKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/GainwardGPUController/GainwardGPUv1Controller/RGBController_GainwardGPUv1.cpp b/Controllers/GainwardGPUController/GainwardGPUv1Controller/RGBController_GainwardGPUv1.cpp index 738acd42..f884eede 100644 --- a/Controllers/GainwardGPUController/GainwardGPUv1Controller/RGBController_GainwardGPUv1.cpp +++ b/Controllers/GainwardGPUController/GainwardGPUv1Controller/RGBController_GainwardGPUv1.cpp @@ -50,6 +50,8 @@ RGBController_GainwardGPUv1::RGBController_GainwardGPUv1(GainwardGPUv1Controller RGBController_GainwardGPUv1::~RGBController_GainwardGPUv1() { + Shutdown(); + delete controller; } diff --git a/Controllers/GainwardGPUController/GainwardGPUv2Controller/RGBController_GainwardGPUv2.cpp b/Controllers/GainwardGPUController/GainwardGPUv2Controller/RGBController_GainwardGPUv2.cpp index de6c94e2..4abe648b 100644 --- a/Controllers/GainwardGPUController/GainwardGPUv2Controller/RGBController_GainwardGPUv2.cpp +++ b/Controllers/GainwardGPUController/GainwardGPUv2Controller/RGBController_GainwardGPUv2.cpp @@ -82,6 +82,8 @@ RGBController_GainwardGPUv2::RGBController_GainwardGPUv2(GainwardGPUv2Controller RGBController_GainwardGPUv2::~RGBController_GainwardGPUv2() { + Shutdown(); + delete controller; } diff --git a/Controllers/GalaxGPUController/GalaxGPUv1Controller/RGBController_GalaxGPUv1.cpp b/Controllers/GalaxGPUController/GalaxGPUv1Controller/RGBController_GalaxGPUv1.cpp index 2019b92c..52a8bacf 100644 --- a/Controllers/GalaxGPUController/GalaxGPUv1Controller/RGBController_GalaxGPUv1.cpp +++ b/Controllers/GalaxGPUController/GalaxGPUv1Controller/RGBController_GalaxGPUv1.cpp @@ -99,6 +99,8 @@ RGBController_GalaxGPUv1::RGBController_GalaxGPUv1(GalaxGPUv1Controller* control RGBController_GalaxGPUv1::~RGBController_GalaxGPUv1() { + Shutdown(); + delete controller; } diff --git a/Controllers/GalaxGPUController/GalaxGPUv2Controller/RGBController_GalaxGPUv2.cpp b/Controllers/GalaxGPUController/GalaxGPUv2Controller/RGBController_GalaxGPUv2.cpp index f347502f..145fe17e 100644 --- a/Controllers/GalaxGPUController/GalaxGPUv2Controller/RGBController_GalaxGPUv2.cpp +++ b/Controllers/GalaxGPUController/GalaxGPUv2Controller/RGBController_GalaxGPUv2.cpp @@ -119,6 +119,8 @@ RGBController_GalaxGPUv2::RGBController_GalaxGPUv2(GalaxGPUv2Controller* control RGBController_GalaxGPUv2::~RGBController_GalaxGPUv2() { + Shutdown(); + delete controller; } diff --git a/Controllers/GigabyteAorusCPUCoolerController/RGBController_AorusATC800.cpp b/Controllers/GigabyteAorusCPUCoolerController/RGBController_AorusATC800.cpp index 1d3f7529..07d8984a 100644 --- a/Controllers/GigabyteAorusCPUCoolerController/RGBController_AorusATC800.cpp +++ b/Controllers/GigabyteAorusCPUCoolerController/RGBController_AorusATC800.cpp @@ -194,6 +194,8 @@ RGBController_AorusATC800::RGBController_AorusATC800(ATC800Controller* controlle RGBController_AorusATC800::~RGBController_AorusATC800() { + Shutdown(); + delete controller; } diff --git a/Controllers/GigabyteAorusLaptopController/RGBController_GigabyteAorusLaptop.cpp b/Controllers/GigabyteAorusLaptopController/RGBController_GigabyteAorusLaptop.cpp index 7110ef33..303b7291 100644 --- a/Controllers/GigabyteAorusLaptopController/RGBController_GigabyteAorusLaptop.cpp +++ b/Controllers/GigabyteAorusLaptopController/RGBController_GigabyteAorusLaptop.cpp @@ -354,6 +354,8 @@ RGBController_GigabyteAorusLaptop::RGBController_GigabyteAorusLaptop(GigabyteAor RGBController_GigabyteAorusLaptop::~RGBController_GigabyteAorusLaptop() { + Shutdown(); + delete controller; } diff --git a/Controllers/GigabyteAorusMouseController/RGBController_GigabyteAorusMouse.cpp b/Controllers/GigabyteAorusMouseController/RGBController_GigabyteAorusMouse.cpp index cf2f1015..1060074b 100644 --- a/Controllers/GigabyteAorusMouseController/RGBController_GigabyteAorusMouse.cpp +++ b/Controllers/GigabyteAorusMouseController/RGBController_GigabyteAorusMouse.cpp @@ -121,6 +121,8 @@ RGBController_GigabyteAorusMouse::RGBController_GigabyteAorusMouse(GigabyteAorus RGBController_GigabyteAorusMouse::~RGBController_GigabyteAorusMouse() { + Shutdown(); + delete controller; } diff --git a/Controllers/GigabyteAorusPCCaseController/RGBController_GigabyteAorusPCCase.cpp b/Controllers/GigabyteAorusPCCaseController/RGBController_GigabyteAorusPCCase.cpp index 5225116b..ff2e4930 100644 --- a/Controllers/GigabyteAorusPCCaseController/RGBController_GigabyteAorusPCCase.cpp +++ b/Controllers/GigabyteAorusPCCaseController/RGBController_GigabyteAorusPCCase.cpp @@ -113,6 +113,8 @@ RGBController_GigabyteAorusPCCase::RGBController_GigabyteAorusPCCase(GigabyteAor RGBController_GigabyteAorusPCCase::~RGBController_GigabyteAorusPCCase() { + Shutdown(); + delete controller; } diff --git a/Controllers/GigabyteRGBFusion2BlackwellGPUController/RGBController_GigabyteRGBFusion2BlackwellGPU.cpp b/Controllers/GigabyteRGBFusion2BlackwellGPUController/RGBController_GigabyteRGBFusion2BlackwellGPU.cpp index 7a0b8e28..d2cb5949 100644 --- a/Controllers/GigabyteRGBFusion2BlackwellGPUController/RGBController_GigabyteRGBFusion2BlackwellGPU.cpp +++ b/Controllers/GigabyteRGBFusion2BlackwellGPUController/RGBController_GigabyteRGBFusion2BlackwellGPU.cpp @@ -201,6 +201,8 @@ RGBController_RGBFusion2BlackwellGPU::RGBController_RGBFusion2BlackwellGPU(RGBFu RGBController_RGBFusion2BlackwellGPU::~RGBController_RGBFusion2BlackwellGPU() { + Shutdown(); + delete controller; } diff --git a/Controllers/GigabyteRGBFusion2DRAMController/RGBController_GigabyteRGBFusion2DRAM.cpp b/Controllers/GigabyteRGBFusion2DRAMController/RGBController_GigabyteRGBFusion2DRAM.cpp index b14725f3..22c12175 100644 --- a/Controllers/GigabyteRGBFusion2DRAMController/RGBController_GigabyteRGBFusion2DRAM.cpp +++ b/Controllers/GigabyteRGBFusion2DRAMController/RGBController_GigabyteRGBFusion2DRAM.cpp @@ -77,6 +77,8 @@ RGBController_RGBFusion2DRAM::RGBController_RGBFusion2DRAM(RGBFusion2DRAMControl RGBController_RGBFusion2DRAM::~RGBController_RGBFusion2DRAM() { + Shutdown(); + delete controller; } diff --git a/Controllers/GigabyteRGBFusion2GPUController/RGBController_GigabyteRGBFusion2GPU.cpp b/Controllers/GigabyteRGBFusion2GPUController/RGBController_GigabyteRGBFusion2GPU.cpp index 7b7e2e40..d6aceb56 100644 --- a/Controllers/GigabyteRGBFusion2GPUController/RGBController_GigabyteRGBFusion2GPU.cpp +++ b/Controllers/GigabyteRGBFusion2GPUController/RGBController_GigabyteRGBFusion2GPU.cpp @@ -156,6 +156,8 @@ RGBController_RGBFusion2GPU::RGBController_RGBFusion2GPU(RGBFusion2GPUController RGBController_RGBFusion2GPU::~RGBController_RGBFusion2GPU() { + Shutdown(); + delete controller; } diff --git a/Controllers/GigabyteRGBFusion2SMBusController/RGBController_GigabyteRGBFusion2SMBus.cpp b/Controllers/GigabyteRGBFusion2SMBusController/RGBController_GigabyteRGBFusion2SMBus.cpp index 5e2d5eb0..22ca53c2 100644 --- a/Controllers/GigabyteRGBFusion2SMBusController/RGBController_GigabyteRGBFusion2SMBus.cpp +++ b/Controllers/GigabyteRGBFusion2SMBusController/RGBController_GigabyteRGBFusion2SMBus.cpp @@ -203,6 +203,8 @@ RGBController_RGBFusion2SMBus::RGBController_RGBFusion2SMBus(RGBFusion2SMBusCont RGBController_RGBFusion2SMBus::~RGBController_RGBFusion2SMBus() { + Shutdown(); + delete controller; } diff --git a/Controllers/GigabyteRGBFusion2USBController/RGBController_GigabyteRGBFusion2USB.cpp b/Controllers/GigabyteRGBFusion2USBController/RGBController_GigabyteRGBFusion2USB.cpp index 3ea50b27..da3c0471 100644 --- a/Controllers/GigabyteRGBFusion2USBController/RGBController_GigabyteRGBFusion2USB.cpp +++ b/Controllers/GigabyteRGBFusion2USBController/RGBController_GigabyteRGBFusion2USB.cpp @@ -206,6 +206,8 @@ RGBController_RGBFusion2USB::RGBController_RGBFusion2USB(RGBFusion2USBController RGBController_RGBFusion2USB::~RGBController_RGBFusion2USB() { + Shutdown(); + delete controller; } diff --git a/Controllers/GigabyteRGBFusionController/RGBController_GigabyteRGBFusion.cpp b/Controllers/GigabyteRGBFusionController/RGBController_GigabyteRGBFusion.cpp index 0432fd15..d160ecf4 100644 --- a/Controllers/GigabyteRGBFusionController/RGBController_GigabyteRGBFusion.cpp +++ b/Controllers/GigabyteRGBFusionController/RGBController_GigabyteRGBFusion.cpp @@ -74,6 +74,8 @@ RGBController_RGBFusion::RGBController_RGBFusion(RGBFusionController* controller RGBController_RGBFusion::~RGBController_RGBFusion() { + Shutdown(); + delete controller; } diff --git a/Controllers/GigabyteRGBFusionGPUController/RGBController_GigabyteRGBFusionGPU.cpp b/Controllers/GigabyteRGBFusionGPUController/RGBController_GigabyteRGBFusionGPU.cpp index 5dae16de..f034f4cc 100644 --- a/Controllers/GigabyteRGBFusionGPUController/RGBController_GigabyteRGBFusionGPU.cpp +++ b/Controllers/GigabyteRGBFusionGPUController/RGBController_GigabyteRGBFusionGPU.cpp @@ -112,6 +112,8 @@ RGBController_RGBFusionGPU::RGBController_RGBFusionGPU(RGBFusionGPUController* c RGBController_RGBFusionGPU::~RGBController_RGBFusionGPU() { + Shutdown(); + delete controller; } diff --git a/Controllers/GigabyteSuperIORGBController/RGBController_GigabyteSuperIORGB.cpp b/Controllers/GigabyteSuperIORGBController/RGBController_GigabyteSuperIORGB.cpp index 736b5fbd..56c20b60 100644 --- a/Controllers/GigabyteSuperIORGBController/RGBController_GigabyteSuperIORGB.cpp +++ b/Controllers/GigabyteSuperIORGBController/RGBController_GigabyteSuperIORGB.cpp @@ -135,6 +135,8 @@ RGBController_GigabyteSuperIORGB::RGBController_GigabyteSuperIORGB(GigabyteSuper RGBController_GigabyteSuperIORGB::~RGBController_GigabyteSuperIORGB() { + Shutdown(); + delete controller; } diff --git a/Controllers/GoveeController/RGBController_Govee.cpp b/Controllers/GoveeController/RGBController_Govee.cpp index 4c8e285b..673a5ad2 100644 --- a/Controllers/GoveeController/RGBController_Govee.cpp +++ b/Controllers/GoveeController/RGBController_Govee.cpp @@ -58,6 +58,8 @@ RGBController_Govee::RGBController_Govee(GoveeController* controller_ptr) RGBController_Govee::~RGBController_Govee() { + Shutdown(); + keepalive_thread_run = 0; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/HPOmen30LController/RGBController_HPOmen30L.cpp b/Controllers/HPOmen30LController/RGBController_HPOmen30L.cpp index 2a3fc208..6d650dbb 100644 --- a/Controllers/HPOmen30LController/RGBController_HPOmen30L.cpp +++ b/Controllers/HPOmen30LController/RGBController_HPOmen30L.cpp @@ -142,6 +142,8 @@ RGBController_HPOmen30L::RGBController_HPOmen30L(HPOmen30LController* controller RGBController_HPOmen30L::~RGBController_HPOmen30L() { + Shutdown(); + delete controller; } diff --git a/Controllers/HPOmenLaptopController/RGBController_HPOmenLaptopWMI_Windows.cpp b/Controllers/HPOmenLaptopController/RGBController_HPOmenLaptopWMI_Windows.cpp index b06aac41..5ce99abf 100644 --- a/Controllers/HPOmenLaptopController/RGBController_HPOmenLaptopWMI_Windows.cpp +++ b/Controllers/HPOmenLaptopController/RGBController_HPOmenLaptopWMI_Windows.cpp @@ -52,6 +52,8 @@ RGBController_HPOmenLaptopWMI_Windows::RGBController_HPOmenLaptopWMI_Windows(HPO RGBController_HPOmenLaptopWMI_Windows::~RGBController_HPOmenLaptopWMI_Windows() { + Shutdown(); + delete this->controller; } diff --git a/Controllers/HYTEKeyboardController/RGBController_HYTEKeyboard.cpp b/Controllers/HYTEKeyboardController/RGBController_HYTEKeyboard.cpp index dda48cb5..e217d1a0 100644 --- a/Controllers/HYTEKeyboardController/RGBController_HYTEKeyboard.cpp +++ b/Controllers/HYTEKeyboardController/RGBController_HYTEKeyboard.cpp @@ -79,6 +79,8 @@ RGBController_HYTEKeyboard::RGBController_HYTEKeyboard(HYTEKeyboardController* c RGBController_HYTEKeyboard::~RGBController_HYTEKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/HYTEMousematController/RGBController_HYTEMousemat.cpp b/Controllers/HYTEMousematController/RGBController_HYTEMousemat.cpp index 63ff9288..8aaa7c1e 100644 --- a/Controllers/HYTEMousematController/RGBController_HYTEMousemat.cpp +++ b/Controllers/HYTEMousematController/RGBController_HYTEMousemat.cpp @@ -53,6 +53,8 @@ RGBController_HYTEMousemat::RGBController_HYTEMousemat(HYTEMousematController* c RGBController_HYTEMousemat::~RGBController_HYTEMousemat() { + Shutdown(); + delete controller; } diff --git a/Controllers/HYTENexusController/RGBController_HYTENexus.cpp b/Controllers/HYTENexusController/RGBController_HYTENexus.cpp index ca0943ba..dab2a7ff 100644 --- a/Controllers/HYTENexusController/RGBController_HYTENexus.cpp +++ b/Controllers/HYTENexusController/RGBController_HYTENexus.cpp @@ -52,6 +52,8 @@ RGBController_HYTENexus::RGBController_HYTENexus(HYTENexusController* controller RGBController_HYTENexus::~RGBController_HYTENexus() { + Shutdown(); + delete controller; } diff --git a/Controllers/HoltekController/HoltekA070Controller/RGBController_HoltekA070.cpp b/Controllers/HoltekController/HoltekA070Controller/RGBController_HoltekA070.cpp index ed222ebf..15a48e8c 100644 --- a/Controllers/HoltekController/HoltekA070Controller/RGBController_HoltekA070.cpp +++ b/Controllers/HoltekController/HoltekA070Controller/RGBController_HoltekA070.cpp @@ -54,6 +54,8 @@ RGBController_HoltekA070::RGBController_HoltekA070(HoltekA070Controller* control RGBController_HoltekA070::~RGBController_HoltekA070() { + Shutdown(); + delete controller; } diff --git a/Controllers/HoltekController/HoltekA1FAController/RGBController_HoltekA1FA.cpp b/Controllers/HoltekController/HoltekA1FAController/RGBController_HoltekA1FA.cpp index 7d309a85..1443f1fe 100644 --- a/Controllers/HoltekController/HoltekA1FAController/RGBController_HoltekA1FA.cpp +++ b/Controllers/HoltekController/HoltekA1FAController/RGBController_HoltekA1FA.cpp @@ -82,6 +82,8 @@ RGBController_HoltekA1FA::RGBController_HoltekA1FA(HoltekA1FAController* control RGBController_HoltekA1FA::~RGBController_HoltekA1FA() { + Shutdown(); + delete controller; } diff --git a/Controllers/HyperXDRAMController/RGBController_HyperXDRAM.cpp b/Controllers/HyperXDRAMController/RGBController_HyperXDRAM.cpp index 33c6040d..293b6360 100644 --- a/Controllers/HyperXDRAMController/RGBController_HyperXDRAM.cpp +++ b/Controllers/HyperXDRAMController/RGBController_HyperXDRAM.cpp @@ -139,6 +139,8 @@ RGBController_HyperXDRAM::RGBController_HyperXDRAM(HyperXDRAMController* control RGBController_HyperXDRAM::~RGBController_HyperXDRAM() { + Shutdown(); + delete controller; } diff --git a/Controllers/HyperXKeyboardController/HyperXAlloyElite2Controller/RGBController_HyperXAlloyElite2.cpp b/Controllers/HyperXKeyboardController/HyperXAlloyElite2Controller/RGBController_HyperXAlloyElite2.cpp index 6aec7467..da3d53ac 100644 --- a/Controllers/HyperXKeyboardController/HyperXAlloyElite2Controller/RGBController_HyperXAlloyElite2.cpp +++ b/Controllers/HyperXKeyboardController/HyperXAlloyElite2Controller/RGBController_HyperXAlloyElite2.cpp @@ -238,6 +238,8 @@ RGBController_HyperXAlloyElite2::RGBController_HyperXAlloyElite2(HyperXAlloyElit RGBController_HyperXAlloyElite2::~RGBController_HyperXAlloyElite2() { + Shutdown(); + keepalive_thread_run = false; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/HyperXKeyboardController/HyperXAlloyEliteController/RGBController_HyperXAlloyElite.cpp b/Controllers/HyperXKeyboardController/HyperXAlloyEliteController/RGBController_HyperXAlloyElite.cpp index 1709b00a..35e1e7e8 100644 --- a/Controllers/HyperXKeyboardController/HyperXAlloyEliteController/RGBController_HyperXAlloyElite.cpp +++ b/Controllers/HyperXKeyboardController/HyperXAlloyEliteController/RGBController_HyperXAlloyElite.cpp @@ -251,6 +251,8 @@ RGBController_HyperXAlloyElite::RGBController_HyperXAlloyElite(HyperXAlloyEliteC RGBController_HyperXAlloyElite::~RGBController_HyperXAlloyElite() { + Shutdown(); + keepalive_thread_run = false; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/HyperXKeyboardController/HyperXAlloyFPSController/RGBController_HyperXAlloyFPS.cpp b/Controllers/HyperXKeyboardController/HyperXAlloyFPSController/RGBController_HyperXAlloyFPS.cpp index 06f7efe0..070bf80a 100644 --- a/Controllers/HyperXKeyboardController/HyperXAlloyFPSController/RGBController_HyperXAlloyFPS.cpp +++ b/Controllers/HyperXKeyboardController/HyperXAlloyFPSController/RGBController_HyperXAlloyFPS.cpp @@ -192,6 +192,8 @@ RGBController_HyperXAlloyFPS::RGBController_HyperXAlloyFPS(HyperXAlloyFPSControl RGBController_HyperXAlloyFPS::~RGBController_HyperXAlloyFPS() { + Shutdown(); + keepalive_thread_run = false; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/HyperXKeyboardController/HyperXAlloyOrigins60and65Controller/RGBController_HyperXAlloyOrigins60and65.cpp b/Controllers/HyperXKeyboardController/HyperXAlloyOrigins60and65Controller/RGBController_HyperXAlloyOrigins60and65.cpp index 01298f2f..182bbb13 100644 --- a/Controllers/HyperXKeyboardController/HyperXAlloyOrigins60and65Controller/RGBController_HyperXAlloyOrigins60and65.cpp +++ b/Controllers/HyperXKeyboardController/HyperXAlloyOrigins60and65Controller/RGBController_HyperXAlloyOrigins60and65.cpp @@ -245,6 +245,8 @@ RGBController_HyperXAlloyOrigins60and65::RGBController_HyperXAlloyOrigins60and65 RGBController_HyperXAlloyOrigins60and65::~RGBController_HyperXAlloyOrigins60and65() { + Shutdown(); + keepalive_thread_run = 0; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/HyperXKeyboardController/HyperXAlloyOriginsController/RGBController_HyperXAlloyOrigins.cpp b/Controllers/HyperXKeyboardController/HyperXAlloyOriginsController/RGBController_HyperXAlloyOrigins.cpp index 7220e000..07cb86ed 100644 --- a/Controllers/HyperXKeyboardController/HyperXAlloyOriginsController/RGBController_HyperXAlloyOrigins.cpp +++ b/Controllers/HyperXKeyboardController/HyperXAlloyOriginsController/RGBController_HyperXAlloyOrigins.cpp @@ -213,6 +213,8 @@ RGBController_HyperXAlloyOrigins::RGBController_HyperXAlloyOrigins(HyperXAlloyOr RGBController_HyperXAlloyOrigins::~RGBController_HyperXAlloyOrigins() { + Shutdown(); + keepalive_thread_run = 0; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/HyperXKeyboardController/HyperXAlloyOriginsCoreController/RGBController_HyperXAlloyOriginsCore.cpp b/Controllers/HyperXKeyboardController/HyperXAlloyOriginsCoreController/RGBController_HyperXAlloyOriginsCore.cpp index 95b639e0..4137c6db 100644 --- a/Controllers/HyperXKeyboardController/HyperXAlloyOriginsCoreController/RGBController_HyperXAlloyOriginsCore.cpp +++ b/Controllers/HyperXKeyboardController/HyperXAlloyOriginsCoreController/RGBController_HyperXAlloyOriginsCore.cpp @@ -128,6 +128,8 @@ RGBController_HyperXAlloyOriginsCore::RGBController_HyperXAlloyOriginsCore(Hyper RGBController_HyperXAlloyOriginsCore::~RGBController_HyperXAlloyOriginsCore() { + Shutdown(); + keepalive_thread_run = 0; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/HyperXMicrophoneController/RGBController_HyperXMicrophone.cpp b/Controllers/HyperXMicrophoneController/RGBController_HyperXMicrophone.cpp index f2354e1f..5869a918 100644 --- a/Controllers/HyperXMicrophoneController/RGBController_HyperXMicrophone.cpp +++ b/Controllers/HyperXMicrophoneController/RGBController_HyperXMicrophone.cpp @@ -78,6 +78,8 @@ RGBController_HyperXMicrophone::RGBController_HyperXMicrophone(HyperXMicrophoneC RGBController_HyperXMicrophone::~RGBController_HyperXMicrophone() { + Shutdown(); + keepalive_thread_run = 0; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/HyperXMicrophoneV2Controller/RGBController_HyperXMicrophoneV2.cpp b/Controllers/HyperXMicrophoneV2Controller/RGBController_HyperXMicrophoneV2.cpp index c29b0f61..b17e28e7 100644 --- a/Controllers/HyperXMicrophoneV2Controller/RGBController_HyperXMicrophoneV2.cpp +++ b/Controllers/HyperXMicrophoneV2Controller/RGBController_HyperXMicrophoneV2.cpp @@ -53,6 +53,8 @@ RGBController_HyperXMicrophoneV2::RGBController_HyperXMicrophoneV2(HyperXMicroph RGBController_HyperXMicrophoneV2::~RGBController_HyperXMicrophoneV2() { + Shutdown(); + keepalive_thread_run = 0; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/HyperXMouseController/HyperXPulsefireDartController/RGBController_HyperXPulsefireDart.cpp b/Controllers/HyperXMouseController/HyperXPulsefireDartController/RGBController_HyperXPulsefireDart.cpp index ca6ca966..6ca0dcad 100644 --- a/Controllers/HyperXMouseController/HyperXPulsefireDartController/RGBController_HyperXPulsefireDart.cpp +++ b/Controllers/HyperXMouseController/HyperXPulsefireDartController/RGBController_HyperXPulsefireDart.cpp @@ -88,7 +88,9 @@ RGBController_HyperXPulsefireDart::RGBController_HyperXPulsefireDart(HyperXPulse RGBController_HyperXPulsefireDart::~RGBController_HyperXPulsefireDart() { + Shutdown(); + delete controller; } void RGBController_HyperXPulsefireDart::SetupZones() diff --git a/Controllers/HyperXMouseController/HyperXPulsefireFPSProController/RGBController_HyperXPulsefireFPSPro.cpp b/Controllers/HyperXMouseController/HyperXPulsefireFPSProController/RGBController_HyperXPulsefireFPSPro.cpp index 75c52142..0fa9adad 100644 --- a/Controllers/HyperXMouseController/HyperXPulsefireFPSProController/RGBController_HyperXPulsefireFPSPro.cpp +++ b/Controllers/HyperXMouseController/HyperXPulsefireFPSProController/RGBController_HyperXPulsefireFPSPro.cpp @@ -56,6 +56,8 @@ RGBController_HyperXPulsefireFPSPro::RGBController_HyperXPulsefireFPSPro(HyperXP RGBController_HyperXPulsefireFPSPro::~RGBController_HyperXPulsefireFPSPro() { + Shutdown(); + keepalive_thread_run = 0; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/HyperXMouseController/HyperXPulsefireHasteController/RGBController_HyperXPulsefireHaste.cpp b/Controllers/HyperXMouseController/HyperXPulsefireHasteController/RGBController_HyperXPulsefireHaste.cpp index 440f6403..f627369e 100644 --- a/Controllers/HyperXMouseController/HyperXPulsefireHasteController/RGBController_HyperXPulsefireHaste.cpp +++ b/Controllers/HyperXMouseController/HyperXPulsefireHasteController/RGBController_HyperXPulsefireHaste.cpp @@ -56,6 +56,8 @@ RGBController_HyperXPulsefireHaste::RGBController_HyperXPulsefireHaste(HyperXPul RGBController_HyperXPulsefireHaste::~RGBController_HyperXPulsefireHaste() { + Shutdown(); + keepalive_thread_run = 0; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/HyperXMouseController/HyperXPulsefireRaidController/RGBController_HyperXPulsefireRaid.cpp b/Controllers/HyperXMouseController/HyperXPulsefireRaidController/RGBController_HyperXPulsefireRaid.cpp index e633ee83..d17471e2 100644 --- a/Controllers/HyperXMouseController/HyperXPulsefireRaidController/RGBController_HyperXPulsefireRaid.cpp +++ b/Controllers/HyperXMouseController/HyperXPulsefireRaidController/RGBController_HyperXPulsefireRaid.cpp @@ -58,7 +58,13 @@ RGBController_HyperXPulsefireRaid::RGBController_HyperXPulsefireRaid(HyperXPulse RGBController_HyperXPulsefireRaid::~RGBController_HyperXPulsefireRaid() { + Shutdown(); + keepalive_thread_run = 0; + keepalive_thread->join(); + delete keepalive_thread; + + delete controller; } void RGBController_HyperXPulsefireRaid::SetupZones() diff --git a/Controllers/HyperXMouseController/HyperXPulsefireSurgeController/RGBController_HyperXPulsefireSurge.cpp b/Controllers/HyperXMouseController/HyperXPulsefireSurgeController/RGBController_HyperXPulsefireSurge.cpp index 60e2e06e..47e95efa 100644 --- a/Controllers/HyperXMouseController/HyperXPulsefireSurgeController/RGBController_HyperXPulsefireSurge.cpp +++ b/Controllers/HyperXMouseController/HyperXPulsefireSurgeController/RGBController_HyperXPulsefireSurge.cpp @@ -56,6 +56,8 @@ RGBController_HyperXPulsefireSurge::RGBController_HyperXPulsefireSurge(HyperXPul RGBController_HyperXPulsefireSurge::~RGBController_HyperXPulsefireSurge() { + Shutdown(); + keepalive_thread_run = 0; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/HyperXMousematController/RGBController_HyperXMousemat.cpp b/Controllers/HyperXMousematController/RGBController_HyperXMousemat.cpp index e32a2193..5978211d 100644 --- a/Controllers/HyperXMousematController/RGBController_HyperXMousemat.cpp +++ b/Controllers/HyperXMousematController/RGBController_HyperXMousemat.cpp @@ -58,6 +58,8 @@ RGBController_HyperXMousemat::RGBController_HyperXMousemat(HyperXMousematControl RGBController_HyperXMousemat::~RGBController_HyperXMousemat() { + Shutdown(); + keepalive_thread_run = 0; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/InstantMouseController/RGBController_InstantMouse.cpp b/Controllers/InstantMouseController/RGBController_InstantMouse.cpp index 3b3e715f..f7b091e1 100644 --- a/Controllers/InstantMouseController/RGBController_InstantMouse.cpp +++ b/Controllers/InstantMouseController/RGBController_InstantMouse.cpp @@ -160,6 +160,8 @@ RGBController_InstantMouse::RGBController_InstantMouse(InstantMouseController* c RGBController_InstantMouse::~RGBController_InstantMouse() { + Shutdown(); + delete controller; } diff --git a/Controllers/IntelArcA770LEController/RGBController_IntelArcA770LE.cpp b/Controllers/IntelArcA770LEController/RGBController_IntelArcA770LE.cpp index 5e0a4bab..8a9ab460 100644 --- a/Controllers/IntelArcA770LEController/RGBController_IntelArcA770LE.cpp +++ b/Controllers/IntelArcA770LEController/RGBController_IntelArcA770LE.cpp @@ -51,6 +51,8 @@ RGBController_IntelArcA770LE::RGBController_IntelArcA770LE(IntelArcA770LEControl RGBController_IntelArcA770LE::~RGBController_IntelArcA770LE() { + Shutdown(); + delete controller; } diff --git a/Controllers/IonicoController/RGBController_Ionico.cpp b/Controllers/IonicoController/RGBController_Ionico.cpp index f51faaf7..82cbb41f 100644 --- a/Controllers/IonicoController/RGBController_Ionico.cpp +++ b/Controllers/IonicoController/RGBController_Ionico.cpp @@ -130,6 +130,8 @@ RGBController_Ionico::RGBController_Ionico(IonicoController* controller_ptr) RGBController_Ionico::~RGBController_Ionico() { + Shutdown(); + delete controller; } diff --git a/Controllers/JGINYUEInternalUSBController/RGBController_JGINYUEInternalUSB.cpp b/Controllers/JGINYUEInternalUSBController/RGBController_JGINYUEInternalUSB.cpp index 0b54620b..20d89d46 100644 --- a/Controllers/JGINYUEInternalUSBController/RGBController_JGINYUEInternalUSB.cpp +++ b/Controllers/JGINYUEInternalUSBController/RGBController_JGINYUEInternalUSB.cpp @@ -178,6 +178,8 @@ RGBController_JGINYUEInternalUSB::RGBController_JGINYUEInternalUSB(JGINYUEIntern RGBController_JGINYUEInternalUSB::~RGBController_JGINYUEInternalUSB() { + Shutdown(); + delete controller; } diff --git a/Controllers/JGINYUEInternalUSBV2Controller/RGBController_JGINYUEInternalUSBV2.cpp b/Controllers/JGINYUEInternalUSBV2Controller/RGBController_JGINYUEInternalUSBV2.cpp index 27614a08..8f60451f 100644 --- a/Controllers/JGINYUEInternalUSBV2Controller/RGBController_JGINYUEInternalUSBV2.cpp +++ b/Controllers/JGINYUEInternalUSBV2Controller/RGBController_JGINYUEInternalUSBV2.cpp @@ -333,6 +333,8 @@ RGBController_JGINYUEInternalUSBV2::RGBController_JGINYUEInternalUSBV2(JGINYUEIn RGBController_JGINYUEInternalUSBV2::~RGBController_JGINYUEInternalUSBV2() { + Shutdown(); + delete controller; } diff --git a/Controllers/KasaSmartController/RGBController_KasaSmart.cpp b/Controllers/KasaSmartController/RGBController_KasaSmart.cpp index 9187e127..3b32ad87 100644 --- a/Controllers/KasaSmartController/RGBController_KasaSmart.cpp +++ b/Controllers/KasaSmartController/RGBController_KasaSmart.cpp @@ -72,6 +72,8 @@ RGBController_KasaSmart::RGBController_KasaSmart(KasaSmartController* controller RGBController_KasaSmart::~RGBController_KasaSmart() { + Shutdown(); + delete controller; } diff --git a/Controllers/KeychronKeyboardController/RGBController_KeychronKeyboard.cpp b/Controllers/KeychronKeyboardController/RGBController_KeychronKeyboard.cpp index 400f3d7b..bae29d3e 100644 --- a/Controllers/KeychronKeyboardController/RGBController_KeychronKeyboard.cpp +++ b/Controllers/KeychronKeyboardController/RGBController_KeychronKeyboard.cpp @@ -596,6 +596,8 @@ RGBController_KeychronKeyboard::RGBController_KeychronKeyboard(KeychronKeyboardC RGBController_KeychronKeyboard::~RGBController_KeychronKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/KingstonFuryDRAMController/RGBController_KingstonFuryDRAM.cpp b/Controllers/KingstonFuryDRAMController/RGBController_KingstonFuryDRAM.cpp index 623589e3..8cd01ec6 100644 --- a/Controllers/KingstonFuryDRAMController/RGBController_KingstonFuryDRAM.cpp +++ b/Controllers/KingstonFuryDRAMController/RGBController_KingstonFuryDRAM.cpp @@ -377,6 +377,8 @@ RGBController_KingstonFuryDRAM::RGBController_KingstonFuryDRAM(KingstonFuryDRAMC RGBController_KingstonFuryDRAM::~RGBController_KingstonFuryDRAM() { + Shutdown(); + delete controller; } diff --git a/Controllers/LEDStripController/RGBController_LEDStrip.cpp b/Controllers/LEDStripController/RGBController_LEDStrip.cpp index 0afc4adf..27c6164a 100644 --- a/Controllers/LEDStripController/RGBController_LEDStrip.cpp +++ b/Controllers/LEDStripController/RGBController_LEDStrip.cpp @@ -43,6 +43,8 @@ RGBController_LEDStrip::RGBController_LEDStrip(LEDStripController* controller_pt RGBController_LEDStrip::~RGBController_LEDStrip() { + Shutdown(); + delete controller; } diff --git a/Controllers/LGMonitorController/RGBController_LGMonitor.cpp b/Controllers/LGMonitorController/RGBController_LGMonitor.cpp index 1bf57c42..6c7b277b 100644 --- a/Controllers/LGMonitorController/RGBController_LGMonitor.cpp +++ b/Controllers/LGMonitorController/RGBController_LGMonitor.cpp @@ -91,6 +91,8 @@ RGBController_LGMonitor::RGBController_LGMonitor(LGMonitorController* controller RGBController_LGMonitor::~RGBController_LGMonitor() { + Shutdown(); + keepalive_thread_run = 0; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/LIFXController/RGBController_LIFX.cpp b/Controllers/LIFXController/RGBController_LIFX.cpp index 52df0d8a..add2d9f1 100644 --- a/Controllers/LIFXController/RGBController_LIFX.cpp +++ b/Controllers/LIFXController/RGBController_LIFX.cpp @@ -46,6 +46,8 @@ RGBController_LIFX::RGBController_LIFX(LIFXController* controller_ptr) RGBController_LIFX::~RGBController_LIFX() { + Shutdown(); + delete controller; } diff --git a/Controllers/LaviewTechnologyController/LaviewTechnologyController/RGBController_LaviewTechnology.cpp b/Controllers/LaviewTechnologyController/LaviewTechnologyController/RGBController_LaviewTechnology.cpp index 0cb58f53..67100812 100644 --- a/Controllers/LaviewTechnologyController/LaviewTechnologyController/RGBController_LaviewTechnology.cpp +++ b/Controllers/LaviewTechnologyController/LaviewTechnologyController/RGBController_LaviewTechnology.cpp @@ -148,6 +148,13 @@ RGBController_LaviewTechnology::RGBController_LaviewTechnology(LaviewTechnologyC SetupZones(); } +RGBController_LaviewTechnology::~RGBController_LaviewTechnology() +{ + Shutdown(); + + delete controller; +} + void RGBController_LaviewTechnology::SetupZones() { /*---------------------------------------------------------*\ @@ -171,11 +178,6 @@ void RGBController_LaviewTechnology::SetupZones() SetupColors(); } -RGBController_LaviewTechnology::~RGBController_LaviewTechnology() -{ - delete controller; -} - void RGBController_LaviewTechnology::DeviceUpdateLEDs() { DeviceUpdateMode(); diff --git a/Controllers/LegoDimensionsToypadBaseController/RGBController_LegoDimensionsToypadBase.cpp b/Controllers/LegoDimensionsToypadBaseController/RGBController_LegoDimensionsToypadBase.cpp index 7b3c76b1..94ec2480 100644 --- a/Controllers/LegoDimensionsToypadBaseController/RGBController_LegoDimensionsToypadBase.cpp +++ b/Controllers/LegoDimensionsToypadBaseController/RGBController_LegoDimensionsToypadBase.cpp @@ -72,6 +72,8 @@ RGBController_LegoDimensionsToypadBase::RGBController_LegoDimensionsToypadBase(L RGBController_LegoDimensionsToypadBase::~RGBController_LegoDimensionsToypadBase() { + Shutdown(); + delete controller; } diff --git a/Controllers/LenovoControllers/Lenovo4ZoneUSBController/RGBController_Lenovo4ZoneUSB.cpp b/Controllers/LenovoControllers/Lenovo4ZoneUSBController/RGBController_Lenovo4ZoneUSB.cpp index d303e9ac..a019986d 100644 --- a/Controllers/LenovoControllers/Lenovo4ZoneUSBController/RGBController_Lenovo4ZoneUSB.cpp +++ b/Controllers/LenovoControllers/Lenovo4ZoneUSBController/RGBController_Lenovo4ZoneUSB.cpp @@ -87,6 +87,8 @@ RGBController_Lenovo4ZoneUSB::RGBController_Lenovo4ZoneUSB(Lenovo4ZoneUSBControl RGBController_Lenovo4ZoneUSB::~RGBController_Lenovo4ZoneUSB() { + Shutdown(); + delete controller; } diff --git a/Controllers/LenovoControllers/LenovoLegionK510Controller/RGBController_LenovoK510.cpp b/Controllers/LenovoControllers/LenovoLegionK510Controller/RGBController_LenovoK510.cpp index 125bbe96..d43ebd50 100644 --- a/Controllers/LenovoControllers/LenovoLegionK510Controller/RGBController_LenovoK510.cpp +++ b/Controllers/LenovoControllers/LenovoLegionK510Controller/RGBController_LenovoK510.cpp @@ -275,6 +275,8 @@ RGBController_LenovoK510::RGBController_LenovoK510(LenovoK510Controller* control RGBController_LenovoK510::~RGBController_LenovoK510() { + Shutdown(); + delete controller; } diff --git a/Controllers/LenovoControllers/LenovoM300Controller/RGBController_LenovoM300.cpp b/Controllers/LenovoControllers/LenovoM300Controller/RGBController_LenovoM300.cpp index 36e39336..3db37c01 100644 --- a/Controllers/LenovoControllers/LenovoM300Controller/RGBController_LenovoM300.cpp +++ b/Controllers/LenovoControllers/LenovoM300Controller/RGBController_LenovoM300.cpp @@ -73,6 +73,8 @@ RGBController_LenovoM300::RGBController_LenovoM300(LenovoM300Controller* control RGBController_LenovoM300::~RGBController_LenovoM300() { + Shutdown(); + delete controller; } diff --git a/Controllers/LenovoControllers/LenovoUSBController/RGBController_LenovoUSB.cpp b/Controllers/LenovoControllers/LenovoUSBController/RGBController_LenovoUSB.cpp index 8dbefb21..c38b86ff 100644 --- a/Controllers/LenovoControllers/LenovoUSBController/RGBController_LenovoUSB.cpp +++ b/Controllers/LenovoControllers/LenovoUSBController/RGBController_LenovoUSB.cpp @@ -190,6 +190,8 @@ RGBController_LenovoUSB::RGBController_LenovoUSB(LenovoUSBController* controller RGBController_LenovoUSB::~RGBController_LenovoUSB() { + Shutdown(); + /*--------------------------------*\ | see LenovoUSBController.cpp for | | details | diff --git a/Controllers/LenovoControllers/LenovoUSBController_Gen7_8/RGBController_Lenovo_Gen7_8.cpp b/Controllers/LenovoControllers/LenovoUSBController_Gen7_8/RGBController_Lenovo_Gen7_8.cpp index b460bd6f..5844a906 100644 --- a/Controllers/LenovoControllers/LenovoUSBController_Gen7_8/RGBController_Lenovo_Gen7_8.cpp +++ b/Controllers/LenovoControllers/LenovoUSBController_Gen7_8/RGBController_Lenovo_Gen7_8.cpp @@ -393,6 +393,8 @@ LenovoRGBController_Gen7_8::LenovoRGBController_Gen7_8(LenovoGen7And8USBControll LenovoRGBController_Gen7_8::~LenovoRGBController_Gen7_8() { + Shutdown(); + delete controller; } diff --git a/Controllers/LenovoMotherboardController/RGBController_LenovoMotherboard.cpp b/Controllers/LenovoMotherboardController/RGBController_LenovoMotherboard.cpp index 78f5ba9f..b1251c88 100644 --- a/Controllers/LenovoMotherboardController/RGBController_LenovoMotherboard.cpp +++ b/Controllers/LenovoMotherboardController/RGBController_LenovoMotherboard.cpp @@ -129,6 +129,8 @@ RGBController_LenovoMotherboard::RGBController_LenovoMotherboard(LenovoMotherboa RGBController_LenovoMotherboard::~RGBController_LenovoMotherboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/LexipMouseController/RGBController_LexipMouse.cpp b/Controllers/LexipMouseController/RGBController_LexipMouse.cpp index e4a4c068..07db978f 100644 --- a/Controllers/LexipMouseController/RGBController_LexipMouse.cpp +++ b/Controllers/LexipMouseController/RGBController_LexipMouse.cpp @@ -47,6 +47,8 @@ RGBController_LexipMouse::RGBController_LexipMouse(LexipMouseController* control RGBController_LexipMouse::~RGBController_LexipMouse() { + Shutdown(); + delete controller; } diff --git a/Controllers/LianLiController/LianLiGAIITrinityController/RGBController_LianLiGAIITrinity.cpp b/Controllers/LianLiController/LianLiGAIITrinityController/RGBController_LianLiGAIITrinity.cpp index 8727765f..4ffd1f28 100644 --- a/Controllers/LianLiController/LianLiGAIITrinityController/RGBController_LianLiGAIITrinity.cpp +++ b/Controllers/LianLiController/LianLiGAIITrinityController/RGBController_LianLiGAIITrinity.cpp @@ -278,6 +278,8 @@ RGBController_LianLiGAIITrinity::RGBController_LianLiGAIITrinity(LianLiGAIITrini RGBController_LianLiGAIITrinity::~RGBController_LianLiGAIITrinity() { + Shutdown(); + delete controller; } diff --git a/Controllers/LianLiController/LianLiStrimerLConnectController/RGBController_LianLiStrimerLConnect.cpp b/Controllers/LianLiController/LianLiStrimerLConnectController/RGBController_LianLiStrimerLConnect.cpp index c15e8e3d..56661348 100644 --- a/Controllers/LianLiController/LianLiStrimerLConnectController/RGBController_LianLiStrimerLConnect.cpp +++ b/Controllers/LianLiController/LianLiStrimerLConnectController/RGBController_LianLiStrimerLConnect.cpp @@ -147,6 +147,8 @@ RGBController_LianLiStrimerLConnect::RGBController_LianLiStrimerLConnect(LianLiS RGBController_LianLiStrimerLConnect::~RGBController_LianLiStrimerLConnect() { + Shutdown(); + delete controller; } diff --git a/Controllers/LianLiController/LianLiUniHubALController/RGBController_LianLiUniHubAL.cpp b/Controllers/LianLiController/LianLiUniHubALController/RGBController_LianLiUniHubAL.cpp index 58b5e7b7..f0da9b91 100644 --- a/Controllers/LianLiController/LianLiUniHubALController/RGBController_LianLiUniHubAL.cpp +++ b/Controllers/LianLiController/LianLiUniHubALController/RGBController_LianLiUniHubAL.cpp @@ -355,6 +355,8 @@ RGBController_LianLiUniHubAL::RGBController_LianLiUniHubAL(LianLiUniHubALControl RGBController_LianLiUniHubAL::~RGBController_LianLiUniHubAL() { + Shutdown(); + delete controller; } diff --git a/Controllers/LianLiController/LianLiUniHubController/RGBController_LianLiUniHub.cpp b/Controllers/LianLiController/LianLiUniHubController/RGBController_LianLiUniHub.cpp index 0582e2e0..9c82e4c9 100644 --- a/Controllers/LianLiController/LianLiUniHubController/RGBController_LianLiUniHub.cpp +++ b/Controllers/LianLiController/LianLiUniHubController/RGBController_LianLiUniHub.cpp @@ -215,6 +215,13 @@ RGBController_LianLiUniHub::RGBController_LianLiUniHub(LianLiUniHubController* c RGBController_LianLiUniHub::SetupZones(); } +RGBController_LianLiUniHub::~RGBController_LianLiUniHub() +{ + Shutdown(); + + delete controller; +} + void RGBController_LianLiUniHub::SetupZones() { /*-------------------------------------------------*\ diff --git a/Controllers/LianLiController/LianLiUniHubController/RGBController_LianLiUniHub.h b/Controllers/LianLiController/LianLiUniHubController/RGBController_LianLiUniHub.h index e4ef7798..bbd22141 100644 --- a/Controllers/LianLiController/LianLiUniHubController/RGBController_LianLiUniHub.h +++ b/Controllers/LianLiController/LianLiUniHubController/RGBController_LianLiUniHub.h @@ -20,6 +20,7 @@ class RGBController_LianLiUniHub : public RGBController { public: RGBController_LianLiUniHub(LianLiUniHubController* controller_ptr); + ~RGBController_LianLiUniHub(); void SetupZones(); void DeviceResizeZone(int zone, int new_size); diff --git a/Controllers/LianLiController/LianLiUniHubSLController/RGBController_LianLiUniHubSL.cpp b/Controllers/LianLiController/LianLiUniHubSLController/RGBController_LianLiUniHubSL.cpp index 5e8694e6..42da9131 100644 --- a/Controllers/LianLiController/LianLiUniHubSLController/RGBController_LianLiUniHubSL.cpp +++ b/Controllers/LianLiController/LianLiUniHubSLController/RGBController_LianLiUniHubSL.cpp @@ -286,6 +286,8 @@ RGBController_LianLiUniHubSL::RGBController_LianLiUniHubSL(LianLiUniHubSLControl RGBController_LianLiUniHubSL::~RGBController_LianLiUniHubSL() { + Shutdown(); + delete this->controller; } diff --git a/Controllers/LianLiController/LianLiUniHubSLInfinityController/RGBController_LianLiUniHubSLInfinity.cpp b/Controllers/LianLiController/LianLiUniHubSLInfinityController/RGBController_LianLiUniHubSLInfinity.cpp index e0ecb2fe..2b20103c 100644 --- a/Controllers/LianLiController/LianLiUniHubSLInfinityController/RGBController_LianLiUniHubSLInfinity.cpp +++ b/Controllers/LianLiController/LianLiUniHubSLInfinityController/RGBController_LianLiUniHubSLInfinity.cpp @@ -314,6 +314,8 @@ RGBController_LianLiUniHubSLInfinity::RGBController_LianLiUniHubSLInfinity(LianL RGBController_LianLiUniHubSLInfinity::~RGBController_LianLiUniHubSLInfinity() { + Shutdown(); + delete controller; } diff --git a/Controllers/LianLiController/LianLiUniHubSLV2Controller/RGBController_LianLiUniHubSLV2.cpp b/Controllers/LianLiController/LianLiUniHubSLV2Controller/RGBController_LianLiUniHubSLV2.cpp index 92e95678..b99548e8 100644 --- a/Controllers/LianLiController/LianLiUniHubSLV2Controller/RGBController_LianLiUniHubSLV2.cpp +++ b/Controllers/LianLiController/LianLiUniHubSLV2Controller/RGBController_LianLiUniHubSLV2.cpp @@ -313,6 +313,8 @@ RGBController_LianLiUniHubSLV2::RGBController_LianLiUniHubSLV2(LianLiUniHubSLV2C RGBController_LianLiUniHubSLV2::~RGBController_LianLiUniHubSLV2() { + Shutdown(); + delete controller; } diff --git a/Controllers/LianLiController/LianLiUniHub_AL10Controller/RGBController_LianLiUniHub_AL10.cpp b/Controllers/LianLiController/LianLiUniHub_AL10Controller/RGBController_LianLiUniHub_AL10.cpp index fa56e36f..3b5bc349 100644 --- a/Controllers/LianLiController/LianLiUniHub_AL10Controller/RGBController_LianLiUniHub_AL10.cpp +++ b/Controllers/LianLiController/LianLiUniHub_AL10Controller/RGBController_LianLiUniHub_AL10.cpp @@ -353,6 +353,13 @@ RGBController_LianLiUniHub_AL10::RGBController_LianLiUniHub_AL10(LianLiUniHub_AL RGBController_LianLiUniHub_AL10::SetupZones(); } +RGBController_LianLiUniHub_AL10::~RGBController_LianLiUniHub_AL10() +{ + Shutdown(); + + delete controller; +} + void RGBController_LianLiUniHub_AL10::SetupZones() { /*-------------------------------------------------*\ diff --git a/Controllers/LianLiController/LianLiUniHub_AL10Controller/RGBController_LianLiUniHub_AL10.h b/Controllers/LianLiController/LianLiUniHub_AL10Controller/RGBController_LianLiUniHub_AL10.h index 9931fa75..e7adb1ed 100644 --- a/Controllers/LianLiController/LianLiUniHub_AL10Controller/RGBController_LianLiUniHub_AL10.h +++ b/Controllers/LianLiController/LianLiUniHub_AL10Controller/RGBController_LianLiUniHub_AL10.h @@ -21,6 +21,7 @@ class RGBController_LianLiUniHub_AL10 : public RGBController { public: RGBController_LianLiUniHub_AL10(LianLiUniHub_AL10Controller* controller_ptr); + ~RGBController_LianLiUniHub_AL10(); void SetupZones(); diff --git a/Controllers/LianLiController/LianLiUniversalScreenController/RGBController_LianLiUniversalScreen.cpp b/Controllers/LianLiController/LianLiUniversalScreenController/RGBController_LianLiUniversalScreen.cpp index 38829065..d7c2da07 100644 --- a/Controllers/LianLiController/LianLiUniversalScreenController/RGBController_LianLiUniversalScreen.cpp +++ b/Controllers/LianLiController/LianLiUniversalScreenController/RGBController_LianLiUniversalScreen.cpp @@ -45,6 +45,13 @@ RGBController_LianLiUniversalScreen::RGBController_LianLiUniversalScreen(LianLiU SetupZones(); } +RGBController_LianLiUniversalScreen::~RGBController_LianLiUniversalScreen() +{ + Shutdown(); + + delete controller; +} + void RGBController_LianLiUniversalScreen::SetupZones() { zone Screen; diff --git a/Controllers/LianLiController/LianLiUniversalScreenController/RGBController_LianLiUniversalScreen.h b/Controllers/LianLiController/LianLiUniversalScreenController/RGBController_LianLiUniversalScreen.h index 94eeb31f..33dac0c9 100644 --- a/Controllers/LianLiController/LianLiUniversalScreenController/RGBController_LianLiUniversalScreen.h +++ b/Controllers/LianLiController/LianLiUniversalScreenController/RGBController_LianLiUniversalScreen.h @@ -18,6 +18,7 @@ class RGBController_LianLiUniversalScreen : public RGBController { public: RGBController_LianLiUniversalScreen(LianLiUniversalScreenController* controller_ptr); + ~RGBController_LianLiUniversalScreen(); void SetupZones(); diff --git a/Controllers/LightSaltController/RGBController_LightSalt.cpp b/Controllers/LightSaltController/RGBController_LightSalt.cpp index 1f121943..af1cf144 100644 --- a/Controllers/LightSaltController/RGBController_LightSalt.cpp +++ b/Controllers/LightSaltController/RGBController_LightSalt.cpp @@ -33,6 +33,8 @@ static RGBColor DeflectColor(bool deflection, RGBColor color) RGBController_LightSalt::~RGBController_LightSalt() { + Shutdown(); + delete controller; } diff --git a/Controllers/LinuxLEDController/RGBController_LinuxLED_Linux.cpp b/Controllers/LinuxLEDController/RGBController_LinuxLED_Linux.cpp index 5726c918..5ee1bdc9 100644 --- a/Controllers/LinuxLEDController/RGBController_LinuxLED_Linux.cpp +++ b/Controllers/LinuxLEDController/RGBController_LinuxLED_Linux.cpp @@ -53,6 +53,8 @@ RGBController_LinuxLED::RGBController_LinuxLED(LinuxLEDController* controller_pt RGBController_LinuxLED::~RGBController_LinuxLED() { + Shutdown(); + delete controller; } diff --git a/Controllers/LogitechController/LogitechG203LController/RGBController_LogitechG203L.cpp b/Controllers/LogitechController/LogitechG203LController/RGBController_LogitechG203L.cpp index 08e2fda9..54324a08 100644 --- a/Controllers/LogitechController/LogitechG203LController/RGBController_LogitechG203L.cpp +++ b/Controllers/LogitechController/LogitechG203LController/RGBController_LogitechG203L.cpp @@ -107,6 +107,8 @@ RGBController_LogitechG203L::RGBController_LogitechG203L(LogitechG203LController RGBController_LogitechG203L::~RGBController_LogitechG203L() { + Shutdown(); + delete controller; } diff --git a/Controllers/LogitechController/LogitechG213Controller/RGBController_LogitechG213.cpp b/Controllers/LogitechController/LogitechG213Controller/RGBController_LogitechG213.cpp index f3ab5468..7b5d4a14 100644 --- a/Controllers/LogitechController/LogitechG213Controller/RGBController_LogitechG213.cpp +++ b/Controllers/LogitechController/LogitechG213Controller/RGBController_LogitechG213.cpp @@ -106,6 +106,8 @@ RGBController_LogitechG213::RGBController_LogitechG213(LogitechG213Controller* c RGBController_LogitechG213::~RGBController_LogitechG213() { + Shutdown(); + delete controller; } diff --git a/Controllers/LogitechController/LogitechG560Controller/RGBController_LogitechG560.cpp b/Controllers/LogitechController/LogitechG560Controller/RGBController_LogitechG560.cpp index af1874d5..9cb0b580 100644 --- a/Controllers/LogitechController/LogitechG560Controller/RGBController_LogitechG560.cpp +++ b/Controllers/LogitechController/LogitechG560Controller/RGBController_LogitechG560.cpp @@ -49,6 +49,13 @@ RGBController_LogitechG560::RGBController_LogitechG560(LogitechG560Controller* c SetupZones(); } +RGBController_LogitechG560::~RGBController_LogitechG560() +{ + Shutdown(); + + delete controller; +} + void RGBController_LogitechG560::SetupZones() { zone G560_left_front; diff --git a/Controllers/LogitechController/LogitechG560Controller/RGBController_LogitechG560.h b/Controllers/LogitechController/LogitechG560Controller/RGBController_LogitechG560.h index 89a5f490..558c2f86 100644 --- a/Controllers/LogitechController/LogitechG560Controller/RGBController_LogitechG560.h +++ b/Controllers/LogitechController/LogitechG560Controller/RGBController_LogitechG560.h @@ -19,6 +19,7 @@ class RGBController_LogitechG560 : public RGBController { public: RGBController_LogitechG560(LogitechG560Controller* controller_ptr); + ~RGBController_LogitechG560(); void SetupZones(); diff --git a/Controllers/LogitechController/LogitechG600Controller/RGBController_LogitechG600.cpp b/Controllers/LogitechController/LogitechG600Controller/RGBController_LogitechG600.cpp index 1b41597e..492f2b5b 100644 --- a/Controllers/LogitechController/LogitechG600Controller/RGBController_LogitechG600.cpp +++ b/Controllers/LogitechController/LogitechG600Controller/RGBController_LogitechG600.cpp @@ -64,6 +64,8 @@ RGBController_LogitechG600::RGBController_LogitechG600(LogitechG600Controller* c RGBController_LogitechG600::~RGBController_LogitechG600() { + Shutdown(); + delete controller; } diff --git a/Controllers/LogitechController/LogitechG810Controller/RGBController_LogitechG810.cpp b/Controllers/LogitechController/LogitechG810Controller/RGBController_LogitechG810.cpp index 4cf7ea30..f8122ffd 100644 --- a/Controllers/LogitechController/LogitechG810Controller/RGBController_LogitechG810.cpp +++ b/Controllers/LogitechController/LogitechG810Controller/RGBController_LogitechG810.cpp @@ -241,6 +241,8 @@ RGBController_LogitechG810::RGBController_LogitechG810(LogitechG810Controller* c RGBController_LogitechG810::~RGBController_LogitechG810() { + Shutdown(); + delete controller; } diff --git a/Controllers/LogitechController/LogitechG815Controller/RGBController_LogitechG815.cpp b/Controllers/LogitechController/LogitechG815Controller/RGBController_LogitechG815.cpp index 31315656..5df2e378 100644 --- a/Controllers/LogitechController/LogitechG815Controller/RGBController_LogitechG815.cpp +++ b/Controllers/LogitechController/LogitechG815Controller/RGBController_LogitechG815.cpp @@ -246,6 +246,8 @@ RGBController_LogitechG815::RGBController_LogitechG815(LogitechG815Controller* c RGBController_LogitechG815::~RGBController_LogitechG815() { + Shutdown(); + delete controller; } diff --git a/Controllers/LogitechController/LogitechG910Controller/RGBController_LogitechG910.cpp b/Controllers/LogitechController/LogitechG910Controller/RGBController_LogitechG910.cpp index c7387783..47d45e34 100644 --- a/Controllers/LogitechController/LogitechG910Controller/RGBController_LogitechG910.cpp +++ b/Controllers/LogitechController/LogitechG910Controller/RGBController_LogitechG910.cpp @@ -242,6 +242,8 @@ RGBController_LogitechG910::RGBController_LogitechG910(LogitechG910Controller* c RGBController_LogitechG910::~RGBController_LogitechG910() { + Shutdown(); + delete controller; } diff --git a/Controllers/LogitechController/LogitechG915Controller/RGBController_LogitechG915.cpp b/Controllers/LogitechController/LogitechG915Controller/RGBController_LogitechG915.cpp index d78e5ef4..f62ad85e 100644 --- a/Controllers/LogitechController/LogitechG915Controller/RGBController_LogitechG915.cpp +++ b/Controllers/LogitechController/LogitechG915Controller/RGBController_LogitechG915.cpp @@ -381,6 +381,8 @@ RGBController_LogitechG915::RGBController_LogitechG915(LogitechG915Controller* c RGBController_LogitechG915::~RGBController_LogitechG915() { + Shutdown(); + delete controller; } diff --git a/Controllers/LogitechController/LogitechG933Controller/RGBController_LogitechG933.cpp b/Controllers/LogitechController/LogitechG933Controller/RGBController_LogitechG933.cpp index 6aefdb8e..06f9e771 100644 --- a/Controllers/LogitechController/LogitechG933Controller/RGBController_LogitechG933.cpp +++ b/Controllers/LogitechController/LogitechG933Controller/RGBController_LogitechG933.cpp @@ -50,6 +50,13 @@ RGBController_LogitechG933::RGBController_LogitechG933(LogitechG933Controller* c SetupZones(); } +RGBController_LogitechG933::~RGBController_LogitechG933() +{ + Shutdown(); + + delete controller; +} + void RGBController_LogitechG933::SetupZones() { zone G933_logo; diff --git a/Controllers/LogitechController/LogitechG933Controller/RGBController_LogitechG933.h b/Controllers/LogitechController/LogitechG933Controller/RGBController_LogitechG933.h index 5a36b2c5..5b955317 100644 --- a/Controllers/LogitechController/LogitechG933Controller/RGBController_LogitechG933.h +++ b/Controllers/LogitechController/LogitechG933Controller/RGBController_LogitechG933.h @@ -19,6 +19,7 @@ class RGBController_LogitechG933 : public RGBController { public: RGBController_LogitechG933(LogitechG933Controller* controller_ptr); + ~RGBController_LogitechG933(); void SetupZones(); diff --git a/Controllers/LogitechController/LogitechGLightsyncController/RGBController_LogitechGLightsync.cpp b/Controllers/LogitechController/LogitechGLightsyncController/RGBController_LogitechGLightsync.cpp index b8117334..dfc319e7 100644 --- a/Controllers/LogitechController/LogitechGLightsyncController/RGBController_LogitechGLightsync.cpp +++ b/Controllers/LogitechController/LogitechGLightsyncController/RGBController_LogitechGLightsync.cpp @@ -85,6 +85,8 @@ RGBController_LogitechGLightsync::RGBController_LogitechGLightsync(LogitechGLigh RGBController_LogitechGLightsync::~RGBController_LogitechGLightsync() { + Shutdown(); + delete controller; } diff --git a/Controllers/LogitechController/LogitechGLightsyncController/RGBController_LogitechGLightsync1zone.cpp b/Controllers/LogitechController/LogitechGLightsyncController/RGBController_LogitechGLightsync1zone.cpp index 273a39cd..b7a2ccf5 100644 --- a/Controllers/LogitechController/LogitechGLightsyncController/RGBController_LogitechGLightsync1zone.cpp +++ b/Controllers/LogitechController/LogitechGLightsyncController/RGBController_LogitechGLightsync1zone.cpp @@ -85,6 +85,8 @@ RGBController_LogitechGLightsync1zone::RGBController_LogitechGLightsync1zone(Log RGBController_LogitechGLightsync1zone::~RGBController_LogitechGLightsync1zone() { + Shutdown(); + delete controller; } diff --git a/Controllers/LogitechController/LogitechGLightsyncController/RGBController_LogitechGPowerPlay.cpp b/Controllers/LogitechController/LogitechGLightsyncController/RGBController_LogitechGPowerPlay.cpp index 163bfa4d..195735fc 100644 --- a/Controllers/LogitechController/LogitechGLightsyncController/RGBController_LogitechGPowerPlay.cpp +++ b/Controllers/LogitechController/LogitechGLightsyncController/RGBController_LogitechGPowerPlay.cpp @@ -79,6 +79,8 @@ RGBController_LogitechGPowerPlay::RGBController_LogitechGPowerPlay(LogitechGLigh RGBController_LogitechGPowerPlay::~RGBController_LogitechGPowerPlay() { + Shutdown(); + delete controller; } diff --git a/Controllers/LogitechController/LogitechGProKeyboardController/RGBController_LogitechGProKeyboard.cpp b/Controllers/LogitechController/LogitechGProKeyboardController/RGBController_LogitechGProKeyboard.cpp index 5afe9c6c..a7b6fb75 100644 --- a/Controllers/LogitechController/LogitechGProKeyboardController/RGBController_LogitechGProKeyboard.cpp +++ b/Controllers/LogitechController/LogitechGProKeyboardController/RGBController_LogitechGProKeyboard.cpp @@ -218,6 +218,8 @@ RGBController_LogitechGProKeyboard::RGBController_LogitechGProKeyboard(LogitechG RGBController_LogitechGProKeyboard::~RGBController_LogitechGProKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/LogitechController/LogitechLightspeedController/RGBController_LogitechLightspeed.cpp b/Controllers/LogitechController/LogitechLightspeedController/RGBController_LogitechLightspeed.cpp index 112441f4..64e66462 100644 --- a/Controllers/LogitechController/LogitechLightspeedController/RGBController_LogitechLightspeed.cpp +++ b/Controllers/LogitechController/LogitechLightspeedController/RGBController_LogitechLightspeed.cpp @@ -159,6 +159,8 @@ RGBController_LogitechLightspeed::RGBController_LogitechLightspeed(LogitechLight RGBController_LogitechLightspeed::~RGBController_LogitechLightspeed() { + Shutdown(); + delete controller; } diff --git a/Controllers/LogitechController/LogitechX56Controller/RGBController_LogitechX56.cpp b/Controllers/LogitechController/LogitechX56Controller/RGBController_LogitechX56.cpp index 232a53ab..d5c1b1d1 100644 --- a/Controllers/LogitechController/LogitechX56Controller/RGBController_LogitechX56.cpp +++ b/Controllers/LogitechController/LogitechX56Controller/RGBController_LogitechX56.cpp @@ -47,6 +47,8 @@ RGBController_LogitechX56::RGBController_LogitechX56(LogitechX56Controller* cont RGBController_LogitechX56::~RGBController_LogitechX56() { + Shutdown(); + delete controller; } diff --git a/Controllers/LuxaforController/RGBController_Luxafor.cpp b/Controllers/LuxaforController/RGBController_Luxafor.cpp index 9170921c..b12bd0f2 100644 --- a/Controllers/LuxaforController/RGBController_Luxafor.cpp +++ b/Controllers/LuxaforController/RGBController_Luxafor.cpp @@ -117,7 +117,9 @@ RGBController_Luxafor::RGBController_Luxafor(LuxaforController* controller_ptr) RGBController_Luxafor::~RGBController_Luxafor() { + Shutdown(); + delete controller; } void RGBController_Luxafor::SetupZones() diff --git a/Controllers/MNTKeyboardController/RGBController_MNTKeyboard.cpp b/Controllers/MNTKeyboardController/RGBController_MNTKeyboard.cpp index 12b72757..b227c9d4 100644 --- a/Controllers/MNTKeyboardController/RGBController_MNTKeyboard.cpp +++ b/Controllers/MNTKeyboardController/RGBController_MNTKeyboard.cpp @@ -27,6 +27,8 @@ void RGBController_MNTKeyboard::CommonInit() RGBController_MNTKeyboard::~RGBController_MNTKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/MSI3ZoneController/RGBController_MSI3Zone.cpp b/Controllers/MSI3ZoneController/RGBController_MSI3Zone.cpp index b2f58bd6..4f78dd28 100644 --- a/Controllers/MSI3ZoneController/RGBController_MSI3Zone.cpp +++ b/Controllers/MSI3ZoneController/RGBController_MSI3Zone.cpp @@ -45,6 +45,8 @@ RGBController_MSI3Zone::RGBController_MSI3Zone(MSI3ZoneController* controller_pt RGBController_MSI3Zone::~RGBController_MSI3Zone() { + Shutdown(); + delete controller; } diff --git a/Controllers/MSIGPUController/MSIGPUController/RGBController_MSIGPU.cpp b/Controllers/MSIGPUController/MSIGPUController/RGBController_MSIGPU.cpp index 84444ee3..266ff166 100644 --- a/Controllers/MSIGPUController/MSIGPUController/RGBController_MSIGPU.cpp +++ b/Controllers/MSIGPUController/MSIGPUController/RGBController_MSIGPU.cpp @@ -324,6 +324,8 @@ RGBController_MSIGPU::RGBController_MSIGPU(MSIGPUController * controller_ptr) RGBController_MSIGPU::~RGBController_MSIGPU() { + Shutdown(); + delete controller; } diff --git a/Controllers/MSIGPUController/MSIGPUv2Controller/RGBController_MSIGPUv2.cpp b/Controllers/MSIGPUController/MSIGPUv2Controller/RGBController_MSIGPUv2.cpp index bfe9d078..995a9ad9 100644 --- a/Controllers/MSIGPUController/MSIGPUv2Controller/RGBController_MSIGPUv2.cpp +++ b/Controllers/MSIGPUController/MSIGPUv2Controller/RGBController_MSIGPUv2.cpp @@ -293,6 +293,8 @@ RGBController_MSIGPUv2::RGBController_MSIGPUv2(MSIGPUv2Controller * controller_p RGBController_MSIGPUv2::~RGBController_MSIGPUv2() { + Shutdown(); + delete controller; } diff --git a/Controllers/MSIKeyboardController/MSIMysticLightKBController/RGBController_MSIMysticLightKB.cpp b/Controllers/MSIKeyboardController/MSIMysticLightKBController/RGBController_MSIMysticLightKB.cpp index 5effc03a..63524116 100644 --- a/Controllers/MSIKeyboardController/MSIMysticLightKBController/RGBController_MSIMysticLightKB.cpp +++ b/Controllers/MSIKeyboardController/MSIMysticLightKBController/RGBController_MSIMysticLightKB.cpp @@ -43,6 +43,8 @@ RGBController_MSIKeyboard::RGBController_MSIKeyboard RGBController_MSIKeyboard::~RGBController_MSIKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/MSIMysticLightController/MSIMysticLight112Controller/RGBController_MSIMysticLight112.cpp b/Controllers/MSIMysticLightController/MSIMysticLight112Controller/RGBController_MSIMysticLight112.cpp index d9978b4b..814819b8 100644 --- a/Controllers/MSIMysticLightController/MSIMysticLight112Controller/RGBController_MSIMysticLight112.cpp +++ b/Controllers/MSIMysticLightController/MSIMysticLight112Controller/RGBController_MSIMysticLight112.cpp @@ -78,6 +78,8 @@ RGBController_MSIMysticLight112::RGBController_MSIMysticLight112 RGBController_MSIMysticLight112::~RGBController_MSIMysticLight112() { + Shutdown(); + zone_description.clear(); delete controller; } diff --git a/Controllers/MSIMysticLightController/MSIMysticLight162Controller/RGBController_MSIMysticLight162.cpp b/Controllers/MSIMysticLightController/MSIMysticLight162Controller/RGBController_MSIMysticLight162.cpp index 3fbf61dd..5d7391c5 100644 --- a/Controllers/MSIMysticLightController/MSIMysticLight162Controller/RGBController_MSIMysticLight162.cpp +++ b/Controllers/MSIMysticLightController/MSIMysticLight162Controller/RGBController_MSIMysticLight162.cpp @@ -81,6 +81,8 @@ RGBController_MSIMysticLight162::RGBController_MSIMysticLight162 RGBController_MSIMysticLight162::~RGBController_MSIMysticLight162() { + Shutdown(); + zone_description.clear(); delete controller; } diff --git a/Controllers/MSIMysticLightController/MSIMysticLight185Controller/RGBController_MSIMysticLight185.cpp b/Controllers/MSIMysticLightController/MSIMysticLight185Controller/RGBController_MSIMysticLight185.cpp index e9e69828..dbd617a4 100644 --- a/Controllers/MSIMysticLightController/MSIMysticLight185Controller/RGBController_MSIMysticLight185.cpp +++ b/Controllers/MSIMysticLightController/MSIMysticLight185Controller/RGBController_MSIMysticLight185.cpp @@ -101,6 +101,8 @@ RGBController_MSIMysticLight185::RGBController_MSIMysticLight185 RGBController_MSIMysticLight185::~RGBController_MSIMysticLight185() { + Shutdown(); + zone_description.clear(); delete controller; } diff --git a/Controllers/MSIMysticLightController/MSIMysticLight64Controller/RGBController_MSIMysticLight64.cpp b/Controllers/MSIMysticLightController/MSIMysticLight64Controller/RGBController_MSIMysticLight64.cpp index 302b8e89..d96db2c3 100644 --- a/Controllers/MSIMysticLightController/MSIMysticLight64Controller/RGBController_MSIMysticLight64.cpp +++ b/Controllers/MSIMysticLightController/MSIMysticLight64Controller/RGBController_MSIMysticLight64.cpp @@ -41,6 +41,8 @@ RGBController_MSIMysticLight64::RGBController_MSIMysticLight64 RGBController_MSIMysticLight64::~RGBController_MSIMysticLight64() { + Shutdown(); + delete controller; } diff --git a/Controllers/MSIMysticLightController/MSIMysticLight761Controller/RGBController_MSIMysticLight761.cpp b/Controllers/MSIMysticLightController/MSIMysticLight761Controller/RGBController_MSIMysticLight761.cpp index 216fec87..d6ef2c32 100644 --- a/Controllers/MSIMysticLightController/MSIMysticLight761Controller/RGBController_MSIMysticLight761.cpp +++ b/Controllers/MSIMysticLightController/MSIMysticLight761Controller/RGBController_MSIMysticLight761.cpp @@ -81,6 +81,8 @@ RGBController_MSIMysticLight761::RGBController_MSIMysticLight761 RGBController_MSIMysticLight761::~RGBController_MSIMysticLight761() { + Shutdown(); + zone_description.clear(); delete controller; } diff --git a/Controllers/MSIOptixController/RGBController_MSIOptix.cpp b/Controllers/MSIOptixController/RGBController_MSIOptix.cpp index e460b024..07dc07f1 100644 --- a/Controllers/MSIOptixController/RGBController_MSIOptix.cpp +++ b/Controllers/MSIOptixController/RGBController_MSIOptix.cpp @@ -334,6 +334,8 @@ RGBController_MSIOptix::RGBController_MSIOptix(MSIOptixController* controller_pt RGBController_MSIOptix::~RGBController_MSIOptix() { + Shutdown(); + delete controller; } diff --git a/Controllers/MSIRGBController/RGBController_MSIRGB.cpp b/Controllers/MSIRGBController/RGBController_MSIRGB.cpp index 65d3d99d..d8f1e647 100644 --- a/Controllers/MSIRGBController/RGBController_MSIRGB.cpp +++ b/Controllers/MSIRGBController/RGBController_MSIRGB.cpp @@ -44,6 +44,8 @@ RGBController_MSIRGB::RGBController_MSIRGB(MSIRGBController* controller_ptr) RGBController_MSIRGB::~RGBController_MSIRGB() { + Shutdown(); + delete controller; } diff --git a/Controllers/MSIVigorController/RGBController_MSIVigorGK30.cpp b/Controllers/MSIVigorController/RGBController_MSIVigorGK30.cpp index 9b925619..982f3bc8 100644 --- a/Controllers/MSIVigorController/RGBController_MSIVigorGK30.cpp +++ b/Controllers/MSIVigorController/RGBController_MSIVigorGK30.cpp @@ -138,6 +138,8 @@ RGBController_MSIVigorGK30::RGBController_MSIVigorGK30(MSIVigorGK30Controller* c RGBController_MSIVigorGK30::~RGBController_MSIVigorGK30() { + Shutdown(); + delete controller; } diff --git a/Controllers/MadCatzCyborgController/RGBController_MadCatzCyborg.cpp b/Controllers/MadCatzCyborgController/RGBController_MadCatzCyborg.cpp index 339be42d..e5cc1eee 100644 --- a/Controllers/MadCatzCyborgController/RGBController_MadCatzCyborg.cpp +++ b/Controllers/MadCatzCyborgController/RGBController_MadCatzCyborg.cpp @@ -48,6 +48,8 @@ RGBController_MadCatzCyborg::RGBController_MadCatzCyborg(MadCatzCyborgController RGBController_MadCatzCyborg::~RGBController_MadCatzCyborg() { + Shutdown(); + delete controller; } diff --git a/Controllers/ManliGPUController/RGBController_ManliGPU.cpp b/Controllers/ManliGPUController/RGBController_ManliGPU.cpp index 658db30d..46c70e89 100644 --- a/Controllers/ManliGPUController/RGBController_ManliGPU.cpp +++ b/Controllers/ManliGPUController/RGBController_ManliGPU.cpp @@ -138,6 +138,8 @@ RGBController_ManliGPU::RGBController_ManliGPU(ManliGPUController* controller_pt RGBController_ManliGPU::~RGBController_ManliGPU() { + Shutdown(); + delete controller; } diff --git a/Controllers/MintakaKeyboardController/RGBController_MintakaKeyboard.cpp b/Controllers/MintakaKeyboardController/RGBController_MintakaKeyboard.cpp index 8cc6a9da..4cd03adb 100644 --- a/Controllers/MintakaKeyboardController/RGBController_MintakaKeyboard.cpp +++ b/Controllers/MintakaKeyboardController/RGBController_MintakaKeyboard.cpp @@ -245,6 +245,8 @@ RGBController_MintakaKeyboard::RGBController_MintakaKeyboard(MintakaKeyboardCont RGBController_MintakaKeyboard::~RGBController_MintakaKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/MountainKeyboardController/RGBController_Mountain60Keyboard.cpp b/Controllers/MountainKeyboardController/RGBController_Mountain60Keyboard.cpp index 20df7ec4..2d0fd4d3 100644 --- a/Controllers/MountainKeyboardController/RGBController_Mountain60Keyboard.cpp +++ b/Controllers/MountainKeyboardController/RGBController_Mountain60Keyboard.cpp @@ -344,6 +344,8 @@ RGBController_Mountain60Keyboard::RGBController_Mountain60Keyboard(Mountain60Key RGBController_Mountain60Keyboard::~RGBController_Mountain60Keyboard() { + Shutdown(); + mountain_thread_running = false; mountain_thread->join(); delete mountain_thread; diff --git a/Controllers/MountainKeyboardController/RGBController_MountainKeyboard.cpp b/Controllers/MountainKeyboardController/RGBController_MountainKeyboard.cpp index 2b878c6e..0de3d32f 100644 --- a/Controllers/MountainKeyboardController/RGBController_MountainKeyboard.cpp +++ b/Controllers/MountainKeyboardController/RGBController_MountainKeyboard.cpp @@ -688,6 +688,8 @@ RGBController_MountainKeyboard::RGBController_MountainKeyboard(MountainKeyboardC RGBController_MountainKeyboard::~RGBController_MountainKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/N5312AController/RGBController_N5312A.cpp b/Controllers/N5312AController/RGBController_N5312A.cpp index 44f7c983..c6c9e945 100644 --- a/Controllers/N5312AController/RGBController_N5312A.cpp +++ b/Controllers/N5312AController/RGBController_N5312A.cpp @@ -85,6 +85,8 @@ RGBController_N5312A::RGBController_N5312A(N5312AController* controller_ptr) RGBController_N5312A::~RGBController_N5312A() { + Shutdown(); + delete controller; } diff --git a/Controllers/NVIDIAIlluminationController/RGBController_NVIDIAIllumination_Windows_Linux.cpp b/Controllers/NVIDIAIlluminationController/RGBController_NVIDIAIllumination_Windows_Linux.cpp index 791cfe70..08bae501 100644 --- a/Controllers/NVIDIAIlluminationController/RGBController_NVIDIAIllumination_Windows_Linux.cpp +++ b/Controllers/NVIDIAIlluminationController/RGBController_NVIDIAIllumination_Windows_Linux.cpp @@ -85,6 +85,8 @@ RGBController_NVIDIAIlluminationV1::RGBController_NVIDIAIlluminationV1(NVIDIAIll RGBController_NVIDIAIlluminationV1::~RGBController_NVIDIAIlluminationV1() { + Shutdown(); + delete controller; } diff --git a/Controllers/NZXTHue1Controller/RGBController_NZXTHue1.cpp b/Controllers/NZXTHue1Controller/RGBController_NZXTHue1.cpp index 9d431896..b51b3ded 100644 --- a/Controllers/NZXTHue1Controller/RGBController_NZXTHue1.cpp +++ b/Controllers/NZXTHue1Controller/RGBController_NZXTHue1.cpp @@ -178,6 +178,8 @@ RGBController_NZXTHue1::RGBController_NZXTHue1(NZXTHue1Controller* controller_pt RGBController_NZXTHue1::~RGBController_NZXTHue1() { + Shutdown(); + delete controller; } diff --git a/Controllers/NZXTHue2Controller/RGBController_NZXTHue2.cpp b/Controllers/NZXTHue2Controller/RGBController_NZXTHue2.cpp index dd292ebc..2bb441cc 100644 --- a/Controllers/NZXTHue2Controller/RGBController_NZXTHue2.cpp +++ b/Controllers/NZXTHue2Controller/RGBController_NZXTHue2.cpp @@ -40,6 +40,8 @@ RGBController_NZXTHue2::RGBController_NZXTHue2(NZXTHue2Controller* controller_pt RGBController_NZXTHue2::~RGBController_NZXTHue2() { + Shutdown(); + delete controller; } diff --git a/Controllers/NZXTHuePlusController/RGBController_NZXTHuePlus.cpp b/Controllers/NZXTHuePlusController/RGBController_NZXTHuePlus.cpp index 72f0a9ba..ee96cb4f 100644 --- a/Controllers/NZXTHuePlusController/RGBController_NZXTHuePlus.cpp +++ b/Controllers/NZXTHuePlusController/RGBController_NZXTHuePlus.cpp @@ -38,6 +38,8 @@ RGBController_HuePlus::RGBController_HuePlus(HuePlusController* controller_ptr) RGBController_HuePlus::~RGBController_HuePlus() { + Shutdown(); + delete controller; } diff --git a/Controllers/NZXTKrakenController/RGBController_NZXTKraken.cpp b/Controllers/NZXTKrakenController/RGBController_NZXTKraken.cpp index fb880ccb..6ff7f0e1 100644 --- a/Controllers/NZXTKrakenController/RGBController_NZXTKraken.cpp +++ b/Controllers/NZXTKrakenController/RGBController_NZXTKraken.cpp @@ -202,6 +202,8 @@ RGBController_NZXTKraken::RGBController_NZXTKraken(NZXTKrakenController* control RGBController_NZXTKraken::~RGBController_NZXTKraken() { + Shutdown(); + delete controller; } diff --git a/Controllers/NZXTMouseController/RGBController_NZXTMouse.cpp b/Controllers/NZXTMouseController/RGBController_NZXTMouse.cpp index fabed35e..dcfce76c 100644 --- a/Controllers/NZXTMouseController/RGBController_NZXTMouse.cpp +++ b/Controllers/NZXTMouseController/RGBController_NZXTMouse.cpp @@ -46,7 +46,9 @@ RGBController_NZXTMouse::RGBController_NZXTMouse(NZXTMouseController* controller RGBController_NZXTMouse::~RGBController_NZXTMouse() { + Shutdown(); + delete controller; } void RGBController_NZXTMouse::SetupZones() diff --git a/Controllers/NanoleafController/RGBController_Nanoleaf.cpp b/Controllers/NanoleafController/RGBController_Nanoleaf.cpp index 82152402..d48c1939 100644 --- a/Controllers/NanoleafController/RGBController_Nanoleaf.cpp +++ b/Controllers/NanoleafController/RGBController_Nanoleaf.cpp @@ -87,6 +87,11 @@ RGBController_Nanoleaf::RGBController_Nanoleaf(std::string a_address, int a_port SetupZones(); } +RGBController_Nanoleaf::~RGBController_Nanoleaf() +{ + Shutdown(); +} + void RGBController_Nanoleaf::SetupZones() { zone led_zone; diff --git a/Controllers/NanoleafController/RGBController_Nanoleaf.h b/Controllers/NanoleafController/RGBController_Nanoleaf.h index e514a6ad..504383ba 100644 --- a/Controllers/NanoleafController/RGBController_Nanoleaf.h +++ b/Controllers/NanoleafController/RGBController_Nanoleaf.h @@ -19,6 +19,7 @@ class RGBController_Nanoleaf : public RGBController public: RGBController_Nanoleaf(std::string a_address, int a_port, std::string a_auth_token); + ~RGBController_Nanoleaf(); void SetupZones(); diff --git a/Controllers/NollieController/RGBController_Nollie.cpp b/Controllers/NollieController/RGBController_Nollie.cpp index 8220d129..d7b8417d 100644 --- a/Controllers/NollieController/RGBController_Nollie.cpp +++ b/Controllers/NollieController/RGBController_Nollie.cpp @@ -47,6 +47,8 @@ RGBController_Nollie::RGBController_Nollie(NollieController* controller_ptr) RGBController_Nollie::~RGBController_Nollie() { + Shutdown(); + delete controller; } diff --git a/Controllers/NvidiaESAController/RGBController_NvidiaESA.cpp b/Controllers/NvidiaESAController/RGBController_NvidiaESA.cpp index 422d8f96..913480d2 100644 --- a/Controllers/NvidiaESAController/RGBController_NvidiaESA.cpp +++ b/Controllers/NvidiaESAController/RGBController_NvidiaESA.cpp @@ -47,6 +47,8 @@ RGBController_NvidiaESA::RGBController_NvidiaESA(NvidiaESAController* controller RGBController_NvidiaESA::~RGBController_NvidiaESA() { + Shutdown(); + delete controller; } diff --git a/Controllers/OKSController/RGBController_OKSKeyboard.cpp b/Controllers/OKSController/RGBController_OKSKeyboard.cpp index 8f37219c..9876731e 100644 --- a/Controllers/OKSController/RGBController_OKSKeyboard.cpp +++ b/Controllers/OKSController/RGBController_OKSKeyboard.cpp @@ -158,6 +158,8 @@ RGBController_OKSKeyboard::RGBController_OKSKeyboard(OKSKeyboardController* cont RGBController_OKSKeyboard::~RGBController_OKSKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/PNYARGBEpicXGPUController/RGBController_PNYARGBEpicXGPU.cpp b/Controllers/PNYARGBEpicXGPUController/RGBController_PNYARGBEpicXGPU.cpp index 98ec2ed6..ec71b652 100644 --- a/Controllers/PNYARGBEpicXGPUController/RGBController_PNYARGBEpicXGPU.cpp +++ b/Controllers/PNYARGBEpicXGPUController/RGBController_PNYARGBEpicXGPU.cpp @@ -144,6 +144,8 @@ RGBController_PNYARGBEpicXGPU::RGBController_PNYARGBEpicXGPU(PNYARGBEpicXGPUCont RGBController_PNYARGBEpicXGPU::~RGBController_PNYARGBEpicXGPU() { + Shutdown(); + delete controller; } diff --git a/Controllers/PNYGPUController/RGBController_PNYGPU.cpp b/Controllers/PNYGPUController/RGBController_PNYGPU.cpp index cbe9d7e3..6fcafddd 100644 --- a/Controllers/PNYGPUController/RGBController_PNYGPU.cpp +++ b/Controllers/PNYGPUController/RGBController_PNYGPU.cpp @@ -80,6 +80,13 @@ RGBController_PNYGPU::RGBController_PNYGPU(PNYGPUController* controller_ptr) active_mode = 0; } +RGBController_PNYGPU::~RGBController_PNYGPU() +{ + Shutdown(); + + delete controller; +} + void RGBController_PNYGPU::SetupZones() { /*---------------------------------------------------------*\ diff --git a/Controllers/PNYGPUController/RGBController_PNYGPU.h b/Controllers/PNYGPUController/RGBController_PNYGPU.h index b969bd02..8f642baa 100644 --- a/Controllers/PNYGPUController/RGBController_PNYGPU.h +++ b/Controllers/PNYGPUController/RGBController_PNYGPU.h @@ -18,6 +18,7 @@ class RGBController_PNYGPU : public RGBController { public: RGBController_PNYGPU(PNYGPUController* controller_ptr); + ~RGBController_PNYGPU(); void SetupZones(); diff --git a/Controllers/PNYLovelaceGPUController/RGBController_PNYLovelaceGPU.cpp b/Controllers/PNYLovelaceGPUController/RGBController_PNYLovelaceGPU.cpp index ec113caa..1c173220 100644 --- a/Controllers/PNYLovelaceGPUController/RGBController_PNYLovelaceGPU.cpp +++ b/Controllers/PNYLovelaceGPUController/RGBController_PNYLovelaceGPU.cpp @@ -107,6 +107,13 @@ RGBController_PNYLovelaceGPU::RGBController_PNYLovelaceGPU(PNYLovelaceGPUControl active_mode = 0; } +RGBController_PNYLovelaceGPU::~RGBController_PNYLovelaceGPU() +{ + Shutdown(); + + delete controller; +} + void RGBController_PNYLovelaceGPU::SetupZones() { /*---------------------------------------------------------*\ diff --git a/Controllers/PNYLovelaceGPUController/RGBController_PNYLovelaceGPU.h b/Controllers/PNYLovelaceGPUController/RGBController_PNYLovelaceGPU.h index c5b914f3..5e14a277 100644 --- a/Controllers/PNYLovelaceGPUController/RGBController_PNYLovelaceGPU.h +++ b/Controllers/PNYLovelaceGPUController/RGBController_PNYLovelaceGPU.h @@ -18,6 +18,7 @@ class RGBController_PNYLovelaceGPU : public RGBController { public: RGBController_PNYLovelaceGPU(PNYLovelaceGPUController* controller_ptr); + ~RGBController_PNYLovelaceGPU(); void SetupZones(); diff --git a/Controllers/PalitGPUController/RGBController_PalitGPU.cpp b/Controllers/PalitGPUController/RGBController_PalitGPU.cpp index a8aab69d..0a570fa1 100644 --- a/Controllers/PalitGPUController/RGBController_PalitGPU.cpp +++ b/Controllers/PalitGPUController/RGBController_PalitGPU.cpp @@ -46,6 +46,13 @@ RGBController_PalitGPU::RGBController_PalitGPU(PalitGPUController* controller_pt active_mode = 0; } +RGBController_PalitGPU::~RGBController_PalitGPU() +{ + Shutdown(); + + delete controller; +} + void RGBController_PalitGPU::SetupZones() { /*---------------------------------------------------------*\ diff --git a/Controllers/PalitGPUController/RGBController_PalitGPU.h b/Controllers/PalitGPUController/RGBController_PalitGPU.h index 108410f1..63de872d 100644 --- a/Controllers/PalitGPUController/RGBController_PalitGPU.h +++ b/Controllers/PalitGPUController/RGBController_PalitGPU.h @@ -18,6 +18,7 @@ class RGBController_PalitGPU : public RGBController { public: RGBController_PalitGPU(PalitGPUController* controller_ptr); + ~RGBController_PalitGPU(); void SetupZones(); diff --git a/Controllers/PatriotViperController/RGBController_PatriotViper.cpp b/Controllers/PatriotViperController/RGBController_PatriotViper.cpp index 56c77ee1..c456bb82 100644 --- a/Controllers/PatriotViperController/RGBController_PatriotViper.cpp +++ b/Controllers/PatriotViperController/RGBController_PatriotViper.cpp @@ -127,6 +127,8 @@ RGBController_PatriotViper::RGBController_PatriotViper(PatriotViperController* v RGBController_PatriotViper::~RGBController_PatriotViper() { + Shutdown(); + delete viper; } diff --git a/Controllers/PatriotViperMouseController/RGBController_PatriotViperMouse.cpp b/Controllers/PatriotViperMouseController/RGBController_PatriotViperMouse.cpp index 58090880..ae437316 100644 --- a/Controllers/PatriotViperMouseController/RGBController_PatriotViperMouse.cpp +++ b/Controllers/PatriotViperMouseController/RGBController_PatriotViperMouse.cpp @@ -45,6 +45,8 @@ RGBController_PatriotViperMouse::RGBController_PatriotViperMouse(PatriotViperMou RGBController_PatriotViperMouse::~RGBController_PatriotViperMouse() { + Shutdown(); + delete controller; } diff --git a/Controllers/PatriotViperSteelController/RGBController_PatriotViperSteel.cpp b/Controllers/PatriotViperSteelController/RGBController_PatriotViperSteel.cpp index 8a0852b0..056e14df 100644 --- a/Controllers/PatriotViperSteelController/RGBController_PatriotViperSteel.cpp +++ b/Controllers/PatriotViperSteelController/RGBController_PatriotViperSteel.cpp @@ -45,6 +45,8 @@ RGBController_PatriotViperSteel::RGBController_PatriotViperSteel(PatriotViperSte RGBController_PatriotViperSteel::~RGBController_PatriotViperSteel() { + Shutdown(); + delete controller; } diff --git a/Controllers/PhilipsHueController/RGBController_PhilipsHue.cpp b/Controllers/PhilipsHueController/RGBController_PhilipsHue.cpp index a6535bc7..e78be66b 100644 --- a/Controllers/PhilipsHueController/RGBController_PhilipsHue.cpp +++ b/Controllers/PhilipsHueController/RGBController_PhilipsHue.cpp @@ -43,6 +43,13 @@ RGBController_PhilipsHue::RGBController_PhilipsHue(PhilipsHueController* control SetupZones(); } +RGBController_PhilipsHue::~RGBController_PhilipsHue() +{ + Shutdown(); + + delete controller; +} + void RGBController_PhilipsHue::SetupZones() { zone led_zone; diff --git a/Controllers/PhilipsHueController/RGBController_PhilipsHue.h b/Controllers/PhilipsHueController/RGBController_PhilipsHue.h index a44d006e..e8fb9b2e 100644 --- a/Controllers/PhilipsHueController/RGBController_PhilipsHue.h +++ b/Controllers/PhilipsHueController/RGBController_PhilipsHue.h @@ -18,6 +18,7 @@ class RGBController_PhilipsHue : public RGBController { public: RGBController_PhilipsHue(PhilipsHueController* controller_ptr); + ~RGBController_PhilipsHue(); void SetupZones(); diff --git a/Controllers/PhilipsHueController/RGBController_PhilipsHueEntertainment.cpp b/Controllers/PhilipsHueController/RGBController_PhilipsHueEntertainment.cpp index 51624c2e..9cb56f05 100644 --- a/Controllers/PhilipsHueController/RGBController_PhilipsHueEntertainment.cpp +++ b/Controllers/PhilipsHueController/RGBController_PhilipsHueEntertainment.cpp @@ -69,6 +69,13 @@ RGBController_PhilipsHueEntertainment::RGBController_PhilipsHueEntertainment(Phi KeepaliveThread = new std::thread(&RGBController_PhilipsHueEntertainment::KeepaliveThreadFunction, this); } +RGBController_PhilipsHueEntertainment::~RGBController_PhilipsHueEntertainment() +{ + Shutdown(); + + delete controller; +} + void RGBController_PhilipsHueEntertainment::SetupZones() { zone led_zone; diff --git a/Controllers/PhilipsHueController/RGBController_PhilipsHueEntertainment.h b/Controllers/PhilipsHueController/RGBController_PhilipsHueEntertainment.h index 98b92dc9..24639ae2 100644 --- a/Controllers/PhilipsHueController/RGBController_PhilipsHueEntertainment.h +++ b/Controllers/PhilipsHueController/RGBController_PhilipsHueEntertainment.h @@ -20,6 +20,7 @@ class RGBController_PhilipsHueEntertainment : public RGBController { public: RGBController_PhilipsHueEntertainment(PhilipsHueEntertainmentController* controller_ptr); + ~RGBController_PhilipsHueEntertainment(); void SetupZones(); diff --git a/Controllers/PhilipsWizController/RGBController_PhilipsWiz.cpp b/Controllers/PhilipsWizController/RGBController_PhilipsWiz.cpp index 39a1b8e9..bf4e3d0b 100644 --- a/Controllers/PhilipsWizController/RGBController_PhilipsWiz.cpp +++ b/Controllers/PhilipsWizController/RGBController_PhilipsWiz.cpp @@ -374,6 +374,8 @@ RGBController_PhilipsWiz::RGBController_PhilipsWiz(PhilipsWizController* control RGBController_PhilipsWiz::~RGBController_PhilipsWiz() { + Shutdown(); + delete controller; } diff --git a/Controllers/PowerColorGPUController/PowerColorRedDevilV1Controller/RGBController_PowerColorRedDevilV1.cpp b/Controllers/PowerColorGPUController/PowerColorRedDevilV1Controller/RGBController_PowerColorRedDevilV1.cpp index 9c92b182..e5e503a3 100644 --- a/Controllers/PowerColorGPUController/PowerColorRedDevilV1Controller/RGBController_PowerColorRedDevilV1.cpp +++ b/Controllers/PowerColorGPUController/PowerColorRedDevilV1Controller/RGBController_PowerColorRedDevilV1.cpp @@ -182,6 +182,8 @@ RGBController_PowerColorRedDevilV1::RGBController_PowerColorRedDevilV1(PowerColo RGBController_PowerColorRedDevilV1::~RGBController_PowerColorRedDevilV1() { + Shutdown(); + delete controller; } diff --git a/Controllers/PowerColorGPUController/PowerColorRedDevilV2Controller/RGBController_PowerColorRedDevilV2.cpp b/Controllers/PowerColorGPUController/PowerColorRedDevilV2Controller/RGBController_PowerColorRedDevilV2.cpp index f4c43f7e..e6dc1465 100644 --- a/Controllers/PowerColorGPUController/PowerColorRedDevilV2Controller/RGBController_PowerColorRedDevilV2.cpp +++ b/Controllers/PowerColorGPUController/PowerColorRedDevilV2Controller/RGBController_PowerColorRedDevilV2.cpp @@ -162,6 +162,8 @@ RGBController_PowerColorRedDevilV2::RGBController_PowerColorRedDevilV2(PowerColo RGBController_PowerColorRedDevilV2::~RGBController_PowerColorRedDevilV2() { + Shutdown(); + delete controller; } diff --git a/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRev9Controller/RGBController_QMKOpenRGBRev9.cpp b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRev9Controller/RGBController_QMKOpenRGBRev9.cpp index 73bd24ba..552bf22c 100644 --- a/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRev9Controller/RGBController_QMKOpenRGBRev9.cpp +++ b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRev9Controller/RGBController_QMKOpenRGBRev9.cpp @@ -257,6 +257,8 @@ RGBController_QMKOpenRGBRev9::RGBController_QMKOpenRGBRev9(QMKOpenRGBRev9Control RGBController_QMKOpenRGBRev9::~RGBController_QMKOpenRGBRev9() { + Shutdown(); + delete controller; } diff --git a/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevBController/RGBController_QMKOpenRGBRevB.cpp b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevBController/RGBController_QMKOpenRGBRevB.cpp index b3123221..cae302d2 100644 --- a/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevBController/RGBController_QMKOpenRGBRevB.cpp +++ b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevBController/RGBController_QMKOpenRGBRevB.cpp @@ -259,6 +259,8 @@ RGBController_QMKOpenRGBRevB::RGBController_QMKOpenRGBRevB(QMKOpenRGBRevBControl RGBController_QMKOpenRGBRevB::~RGBController_QMKOpenRGBRevB() { + Shutdown(); + delete controller; } diff --git a/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevDController/RGBController_QMKOpenRGBRevD.cpp b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevDController/RGBController_QMKOpenRGBRevD.cpp index 9ad9f367..a654bd99 100644 --- a/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevDController/RGBController_QMKOpenRGBRevD.cpp +++ b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevDController/RGBController_QMKOpenRGBRevD.cpp @@ -258,6 +258,8 @@ RGBController_QMKOpenRGBRevD::RGBController_QMKOpenRGBRevD(QMKOpenRGBRevDControl RGBController_QMKOpenRGBRevD::~RGBController_QMKOpenRGBRevD() { + Shutdown(); + delete controller; } diff --git a/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevEController/RGBController_QMKOpenRGBRevE.cpp b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevEController/RGBController_QMKOpenRGBRevE.cpp index 58055b77..e809d8be 100644 --- a/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevEController/RGBController_QMKOpenRGBRevE.cpp +++ b/Controllers/QMKController/QMKOpenRGBController/QMKOpenRGBRevEController/RGBController_QMKOpenRGBRevE.cpp @@ -274,6 +274,8 @@ RGBController_QMKOpenRGBRevE::RGBController_QMKOpenRGBRevE(QMKOpenRGBRevDControl RGBController_QMKOpenRGBRevE::~RGBController_QMKOpenRGBRevE() { + Shutdown(); + delete controller; } diff --git a/Controllers/QMKController/QMKVialRGBController/RGBController_QMKVialRGB.cpp b/Controllers/QMKController/QMKVialRGBController/RGBController_QMKVialRGB.cpp index 3cdc9e3e..30ac5438 100644 --- a/Controllers/QMKController/QMKVialRGBController/RGBController_QMKVialRGB.cpp +++ b/Controllers/QMKController/QMKVialRGBController/RGBController_QMKVialRGB.cpp @@ -158,6 +158,8 @@ RGBController_QMKVialRGB::RGBController_QMKVialRGB(QMKVialRGBController* control RGBController_QMKVialRGB::~RGBController_QMKVialRGB() { + Shutdown(); + delete controller; } diff --git a/Controllers/RazerController/RazerController/RGBController_Razer.cpp b/Controllers/RazerController/RazerController/RGBController_Razer.cpp index 56a16dc0..fdf75d95 100644 --- a/Controllers/RazerController/RazerController/RGBController_Razer.cpp +++ b/Controllers/RazerController/RazerController/RGBController_Razer.cpp @@ -145,6 +145,8 @@ RGBController_Razer::RGBController_Razer(RazerController* controller_ptr) RGBController_Razer::~RGBController_Razer() { + Shutdown(); + delete controller; } diff --git a/Controllers/RazerController/RazerController/RGBController_RazerAddressable.cpp b/Controllers/RazerController/RazerController/RGBController_RazerAddressable.cpp index f658d1ab..b8ed9ef4 100644 --- a/Controllers/RazerController/RazerController/RGBController_RazerAddressable.cpp +++ b/Controllers/RazerController/RazerController/RGBController_RazerAddressable.cpp @@ -124,6 +124,8 @@ RGBController_RazerAddressable::RGBController_RazerAddressable(RazerController* RGBController_RazerAddressable::~RGBController_RazerAddressable() { + Shutdown(); + delete controller; } diff --git a/Controllers/RazerController/RazerHanboController/RGBController_RazerHanbo.cpp b/Controllers/RazerController/RazerHanboController/RGBController_RazerHanbo.cpp index 704bd7ad..076a3787 100644 --- a/Controllers/RazerController/RazerHanboController/RGBController_RazerHanbo.cpp +++ b/Controllers/RazerController/RazerHanboController/RGBController_RazerHanbo.cpp @@ -65,6 +65,8 @@ RGBController_RazerHanbo::RGBController_RazerHanbo(RazerHanboController* control RGBController_RazerHanbo::~RGBController_RazerHanbo() { + Shutdown(); + delete controller; } diff --git a/Controllers/RazerController/RazerKrakenController/RGBController_RazerKraken.cpp b/Controllers/RazerController/RazerKrakenController/RGBController_RazerKraken.cpp index 3ad01826..4b5aadb0 100644 --- a/Controllers/RazerController/RazerKrakenController/RGBController_RazerKraken.cpp +++ b/Controllers/RazerController/RazerKrakenController/RGBController_RazerKraken.cpp @@ -91,6 +91,8 @@ RGBController_RazerKraken::RGBController_RazerKraken(RazerKrakenController* cont RGBController_RazerKraken::~RGBController_RazerKraken() { + Shutdown(); + delete controller; } diff --git a/Controllers/RazerController/RazerKrakenV3Controller/RGBController_RazerKrakenV3.cpp b/Controllers/RazerController/RazerKrakenV3Controller/RGBController_RazerKrakenV3.cpp index 900474cb..d8847bb2 100644 --- a/Controllers/RazerController/RazerKrakenV3Controller/RGBController_RazerKrakenV3.cpp +++ b/Controllers/RazerController/RazerKrakenV3Controller/RGBController_RazerKrakenV3.cpp @@ -70,6 +70,8 @@ RGBController_RazerKrakenV3::RGBController_RazerKrakenV3(RazerKrakenV3Controller RGBController_RazerKrakenV3::~RGBController_RazerKrakenV3() { + Shutdown(); + delete controller; } diff --git a/Controllers/RazerController/RazerKrakenV4Controller/RGBController_RazerKrakenV4.cpp b/Controllers/RazerController/RazerKrakenV4Controller/RGBController_RazerKrakenV4.cpp index fbcfd02a..e0140456 100644 --- a/Controllers/RazerController/RazerKrakenV4Controller/RGBController_RazerKrakenV4.cpp +++ b/Controllers/RazerController/RazerKrakenV4Controller/RGBController_RazerKrakenV4.cpp @@ -48,6 +48,8 @@ RGBController_RazerKrakenV4::RGBController_RazerKrakenV4(RazerKrakenV4Controller RGBController_RazerKrakenV4::~RGBController_RazerKrakenV4() { + Shutdown(); + delete controller; } diff --git a/Controllers/RedSquareKeyroxController/RedSquareKeyroxController/RGBController_RedSquareKeyrox.cpp b/Controllers/RedSquareKeyroxController/RedSquareKeyroxController/RGBController_RedSquareKeyrox.cpp index c946cd80..5cb5eb90 100644 --- a/Controllers/RedSquareKeyroxController/RedSquareKeyroxController/RGBController_RedSquareKeyrox.cpp +++ b/Controllers/RedSquareKeyroxController/RedSquareKeyroxController/RGBController_RedSquareKeyrox.cpp @@ -291,6 +291,8 @@ RGBController_RedSquareKeyrox::RGBController_RedSquareKeyrox(RedSquareKeyroxCont RGBController_RedSquareKeyrox::~RGBController_RedSquareKeyrox() { + Shutdown(); + delete controller; } diff --git a/Controllers/RedSquareKeyroxController/RedSquareKeyroxTKLClassicController/RGBController_RedSquareKeyroxTKLClassic.cpp b/Controllers/RedSquareKeyroxController/RedSquareKeyroxTKLClassicController/RGBController_RedSquareKeyroxTKLClassic.cpp index 29dc6c66..754f3ca9 100644 --- a/Controllers/RedSquareKeyroxController/RedSquareKeyroxTKLClassicController/RGBController_RedSquareKeyroxTKLClassic.cpp +++ b/Controllers/RedSquareKeyroxController/RedSquareKeyroxTKLClassicController/RGBController_RedSquareKeyroxTKLClassic.cpp @@ -196,6 +196,8 @@ RGBController_RedSquareKeyroxTKLClassic::RGBController_RedSquareKeyroxTKLClassic RGBController_RedSquareKeyroxTKLClassic::~RGBController_RedSquareKeyroxTKLClassic() { + Shutdown(); + delete controller; } diff --git a/Controllers/RedragonController/RGBController_RedragonMouse.cpp b/Controllers/RedragonController/RGBController_RedragonMouse.cpp index c970e407..e91e2fd8 100644 --- a/Controllers/RedragonController/RGBController_RedragonMouse.cpp +++ b/Controllers/RedragonController/RGBController_RedragonMouse.cpp @@ -73,6 +73,8 @@ RGBController_RedragonMouse::RGBController_RedragonMouse(RedragonMouseController RGBController_RedragonMouse::~RGBController_RedragonMouse() { + Shutdown(); + delete controller; } diff --git a/Controllers/RobobloqLightStripController/RGBController_RobobloqLightStrip.cpp b/Controllers/RobobloqLightStripController/RGBController_RobobloqLightStrip.cpp index b2aa84ab..3033ff72 100644 --- a/Controllers/RobobloqLightStripController/RGBController_RobobloqLightStrip.cpp +++ b/Controllers/RobobloqLightStripController/RGBController_RobobloqLightStrip.cpp @@ -105,6 +105,8 @@ RGBController_RobobloqLightStrip::RGBController_RobobloqLightStrip(RobobloqLight RGBController_RobobloqLightStrip::~RGBController_RobobloqLightStrip() { + Shutdown(); + delete controller; } diff --git a/Controllers/RoccatController/RoccatBurstController/RGBController_RoccatBurst.cpp b/Controllers/RoccatController/RoccatBurstController/RGBController_RoccatBurst.cpp index 732a08e9..9b75bae3 100644 --- a/Controllers/RoccatController/RoccatBurstController/RGBController_RoccatBurst.cpp +++ b/Controllers/RoccatController/RoccatBurstController/RGBController_RoccatBurst.cpp @@ -112,6 +112,8 @@ RGBController_RoccatBurst::RGBController_RoccatBurst(RoccatBurstController* cont RGBController_RoccatBurst::~RGBController_RoccatBurst() { + Shutdown(); + delete controller; } diff --git a/Controllers/RoccatController/RoccatBurstProAirController/RGBController_RoccatBurstProAir.cpp b/Controllers/RoccatController/RoccatBurstProAirController/RGBController_RoccatBurstProAir.cpp index a5c78a53..35841f9f 100644 --- a/Controllers/RoccatController/RoccatBurstProAirController/RGBController_RoccatBurstProAir.cpp +++ b/Controllers/RoccatController/RoccatBurstProAirController/RGBController_RoccatBurstProAir.cpp @@ -87,6 +87,8 @@ RGBController_RoccatBurstProAir::RGBController_RoccatBurstProAir(RoccatBurstProA RGBController_RoccatBurstProAir::~RGBController_RoccatBurstProAir() { + Shutdown(); + delete controller; } diff --git a/Controllers/RoccatController/RoccatEloController/RGBController_RoccatElo.cpp b/Controllers/RoccatController/RoccatEloController/RGBController_RoccatElo.cpp index 88b39d7b..174c5b5c 100644 --- a/Controllers/RoccatController/RoccatEloController/RGBController_RoccatElo.cpp +++ b/Controllers/RoccatController/RoccatEloController/RGBController_RoccatElo.cpp @@ -46,6 +46,8 @@ RGBController_RoccatElo::RGBController_RoccatElo(RoccatEloController* controller RGBController_RoccatElo::~RGBController_RoccatElo() { + Shutdown(); + delete controller; } diff --git a/Controllers/RoccatController/RoccatHordeAimoController/RGBController_RoccatHordeAimo.cpp b/Controllers/RoccatController/RoccatHordeAimoController/RGBController_RoccatHordeAimo.cpp index 5a325061..1aa9a8c9 100644 --- a/Controllers/RoccatController/RoccatHordeAimoController/RGBController_RoccatHordeAimo.cpp +++ b/Controllers/RoccatController/RoccatHordeAimoController/RGBController_RoccatHordeAimo.cpp @@ -45,6 +45,8 @@ RGBController_RoccatHordeAimo::RGBController_RoccatHordeAimo(RoccatHordeAimoCont RGBController_RoccatHordeAimo::~RGBController_RoccatHordeAimo() { + Shutdown(); + delete controller; } diff --git a/Controllers/RoccatController/RoccatKoneAimoController/RGBController_RoccatKoneAimo.cpp b/Controllers/RoccatController/RoccatKoneAimoController/RGBController_RoccatKoneAimo.cpp index 52b43c7e..b07406ad 100644 --- a/Controllers/RoccatController/RoccatKoneAimoController/RGBController_RoccatKoneAimo.cpp +++ b/Controllers/RoccatController/RoccatKoneAimoController/RGBController_RoccatKoneAimo.cpp @@ -50,6 +50,8 @@ RGBController_RoccatKoneAimo::RGBController_RoccatKoneAimo(RoccatKoneAimoControl RGBController_RoccatKoneAimo::~RGBController_RoccatKoneAimo() { + Shutdown(); + delete controller; } diff --git a/Controllers/RoccatController/RoccatKoneProAirController/RGBController_RoccatKoneProAir.cpp b/Controllers/RoccatController/RoccatKoneProAirController/RGBController_RoccatKoneProAir.cpp index 9f7a0ceb..08aaaba2 100644 --- a/Controllers/RoccatController/RoccatKoneProAirController/RGBController_RoccatKoneProAir.cpp +++ b/Controllers/RoccatController/RoccatKoneProAirController/RGBController_RoccatKoneProAir.cpp @@ -121,6 +121,8 @@ RGBController_RoccatKoneProAir::RGBController_RoccatKoneProAir(RoccatKoneProAirC RGBController_RoccatKoneProAir::~RGBController_RoccatKoneProAir() { + Shutdown(); + delete controller; } diff --git a/Controllers/RoccatController/RoccatKoneProController/RGBController_RoccatKonePro.cpp b/Controllers/RoccatController/RoccatKoneProController/RGBController_RoccatKonePro.cpp index 9cef5b3f..77656e78 100644 --- a/Controllers/RoccatController/RoccatKoneProController/RGBController_RoccatKonePro.cpp +++ b/Controllers/RoccatController/RoccatKoneProController/RGBController_RoccatKonePro.cpp @@ -114,6 +114,8 @@ RGBController_RoccatKonePro::RGBController_RoccatKonePro(RoccatKoneProController RGBController_RoccatKonePro::~RGBController_RoccatKonePro() { + Shutdown(); + delete controller; } diff --git a/Controllers/RoccatController/RoccatKoneXPController/RGBController_RoccatKoneXP.cpp b/Controllers/RoccatController/RoccatKoneXPController/RGBController_RoccatKoneXP.cpp index ec6e1565..fd8fde02 100644 --- a/Controllers/RoccatController/RoccatKoneXPController/RGBController_RoccatKoneXP.cpp +++ b/Controllers/RoccatController/RoccatKoneXPController/RGBController_RoccatKoneXP.cpp @@ -169,6 +169,8 @@ RGBController_RoccatKoneXP::RGBController_RoccatKoneXP(RoccatKoneXPController* c RGBController_RoccatKoneXP::~RGBController_RoccatKoneXP() { + Shutdown(); + delete controller; } diff --git a/Controllers/RoccatController/RoccatKovaController/RGBController_RoccatKova.cpp b/Controllers/RoccatController/RoccatKovaController/RGBController_RoccatKova.cpp index e2b1c05b..b54507e9 100644 --- a/Controllers/RoccatController/RoccatKovaController/RGBController_RoccatKova.cpp +++ b/Controllers/RoccatController/RoccatKovaController/RGBController_RoccatKova.cpp @@ -83,6 +83,8 @@ RGBController_RoccatKova::RGBController_RoccatKova(RoccatKovaController* control RGBController_RoccatKova::~RGBController_RoccatKova() { + Shutdown(); + delete controller; } diff --git a/Controllers/RoccatController/RoccatSenseAimoController/RGBController_RoccatSenseAimo.cpp b/Controllers/RoccatController/RoccatSenseAimoController/RGBController_RoccatSenseAimo.cpp index 3befa0e3..ebe2dcac 100644 --- a/Controllers/RoccatController/RoccatSenseAimoController/RGBController_RoccatSenseAimo.cpp +++ b/Controllers/RoccatController/RoccatSenseAimoController/RGBController_RoccatSenseAimo.cpp @@ -133,6 +133,8 @@ RGBController_RoccatSenseAimo::RGBController_RoccatSenseAimo(RoccatSenseAimoCont RGBController_RoccatSenseAimo::~RGBController_RoccatSenseAimo() { + Shutdown(); + delete controller; } diff --git a/Controllers/RoccatController/RoccatVulcanKeyboardController/RGBController_RoccatVulcanKeyboard.cpp b/Controllers/RoccatController/RoccatVulcanKeyboardController/RGBController_RoccatVulcanKeyboard.cpp index cc42bec7..426f76f4 100644 --- a/Controllers/RoccatController/RoccatVulcanKeyboardController/RGBController_RoccatVulcanKeyboard.cpp +++ b/Controllers/RoccatController/RoccatVulcanKeyboardController/RGBController_RoccatVulcanKeyboard.cpp @@ -98,6 +98,8 @@ RGBController_RoccatVulcanKeyboard::RGBController_RoccatVulcanKeyboard(RoccatVul RGBController_RoccatVulcanKeyboard::~RGBController_RoccatVulcanKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/SRGBmodsController/SRGBmodsLEDControllerV1/RGBController_SRGBmodsLEDControllerV1.cpp b/Controllers/SRGBmodsController/SRGBmodsLEDControllerV1/RGBController_SRGBmodsLEDControllerV1.cpp index 8e70ff79..7457af15 100644 --- a/Controllers/SRGBmodsController/SRGBmodsLEDControllerV1/RGBController_SRGBmodsLEDControllerV1.cpp +++ b/Controllers/SRGBmodsController/SRGBmodsLEDControllerV1/RGBController_SRGBmodsLEDControllerV1.cpp @@ -87,6 +87,8 @@ RGBController_SRGBmodsLEDControllerV1::RGBController_SRGBmodsLEDControllerV1(SRG RGBController_SRGBmodsLEDControllerV1::~RGBController_SRGBmodsLEDControllerV1() { + Shutdown(); + delete controller; } diff --git a/Controllers/SRGBmodsController/SRGBmodsPicoController/RGBController_SRGBmodsPico.cpp b/Controllers/SRGBmodsController/SRGBmodsPicoController/RGBController_SRGBmodsPico.cpp index f5f101cf..2f0b17f0 100644 --- a/Controllers/SRGBmodsController/SRGBmodsPicoController/RGBController_SRGBmodsPico.cpp +++ b/Controllers/SRGBmodsController/SRGBmodsPicoController/RGBController_SRGBmodsPico.cpp @@ -46,6 +46,8 @@ RGBController_SRGBmodsPico::RGBController_SRGBmodsPico(SRGBmodsPicoController* c RGBController_SRGBmodsPico::~RGBController_SRGBmodsPico() { + Shutdown(); + delete controller; } diff --git a/Controllers/SapphireGPUController/SapphireNitroGlowV1Controller/RGBController_SapphireNitroGlowV1.cpp b/Controllers/SapphireGPUController/SapphireNitroGlowV1Controller/RGBController_SapphireNitroGlowV1.cpp index 3a49d4d3..0126070b 100644 --- a/Controllers/SapphireGPUController/SapphireNitroGlowV1Controller/RGBController_SapphireNitroGlowV1.cpp +++ b/Controllers/SapphireGPUController/SapphireNitroGlowV1Controller/RGBController_SapphireNitroGlowV1.cpp @@ -96,6 +96,8 @@ RGBController_SapphireNitroGlowV1::RGBController_SapphireNitroGlowV1(SapphireNit RGBController_SapphireNitroGlowV1::~RGBController_SapphireNitroGlowV1() { + Shutdown(); + delete controller; } diff --git a/Controllers/SapphireGPUController/SapphireNitroGlowV3Controller/RGBController_SapphireNitroGlowV3.cpp b/Controllers/SapphireGPUController/SapphireNitroGlowV3Controller/RGBController_SapphireNitroGlowV3.cpp index 9744c4a2..0d5e70ab 100644 --- a/Controllers/SapphireGPUController/SapphireNitroGlowV3Controller/RGBController_SapphireNitroGlowV3.cpp +++ b/Controllers/SapphireGPUController/SapphireNitroGlowV3Controller/RGBController_SapphireNitroGlowV3.cpp @@ -96,6 +96,8 @@ RGBController_SapphireNitroGlowV3::RGBController_SapphireNitroGlowV3(SapphireNit RGBController_SapphireNitroGlowV3::~RGBController_SapphireNitroGlowV3() { + Shutdown(); + delete controller; } diff --git a/Controllers/SeagateController/RGBController_Seagate.cpp b/Controllers/SeagateController/RGBController_Seagate.cpp index b457f5f3..49cab04b 100644 --- a/Controllers/SeagateController/RGBController_Seagate.cpp +++ b/Controllers/SeagateController/RGBController_Seagate.cpp @@ -65,6 +65,8 @@ RGBController_Seagate::RGBController_Seagate(SeagateController* controller_ptr) RGBController_Seagate::~RGBController_Seagate() { + Shutdown(); + delete controller; } diff --git a/Controllers/SinowealthController/GenesisXenon200Controller/RGBController_GenesisXenon200.cpp b/Controllers/SinowealthController/GenesisXenon200Controller/RGBController_GenesisXenon200.cpp index d5b268a5..ef70bfe4 100644 --- a/Controllers/SinowealthController/GenesisXenon200Controller/RGBController_GenesisXenon200.cpp +++ b/Controllers/SinowealthController/GenesisXenon200Controller/RGBController_GenesisXenon200.cpp @@ -79,6 +79,8 @@ RGBController_GenesisXenon200::RGBController_GenesisXenon200(GenesisXenon200Cont RGBController_GenesisXenon200::~RGBController_GenesisXenon200() { + Shutdown(); + delete controller; } diff --git a/Controllers/SinowealthController/Sinowealth1007Controller/RGBController_Sinowealth1007.cpp b/Controllers/SinowealthController/Sinowealth1007Controller/RGBController_Sinowealth1007.cpp index bfe801c2..8d7461b0 100644 --- a/Controllers/SinowealthController/Sinowealth1007Controller/RGBController_Sinowealth1007.cpp +++ b/Controllers/SinowealthController/Sinowealth1007Controller/RGBController_Sinowealth1007.cpp @@ -177,6 +177,8 @@ RGBController_Sinowealth1007::RGBController_Sinowealth1007(SinowealthController1 RGBController_Sinowealth1007::~RGBController_Sinowealth1007() { + Shutdown(); + delete controller; } diff --git a/Controllers/SinowealthController/SinowealthController/RGBController_Sinowealth.cpp b/Controllers/SinowealthController/SinowealthController/RGBController_Sinowealth.cpp index 3e9eb2ce..26fc562d 100644 --- a/Controllers/SinowealthController/SinowealthController/RGBController_Sinowealth.cpp +++ b/Controllers/SinowealthController/SinowealthController/RGBController_Sinowealth.cpp @@ -151,6 +151,8 @@ RGBController_Sinowealth::RGBController_Sinowealth(SinowealthController* control RGBController_Sinowealth::~RGBController_Sinowealth() { + Shutdown(); + delete controller; } diff --git a/Controllers/SinowealthController/SinowealthGMOWController/RGBController_SinowealthGMOW.cpp b/Controllers/SinowealthController/SinowealthGMOWController/RGBController_SinowealthGMOW.cpp index 7cab7dfa..47705129 100644 --- a/Controllers/SinowealthController/SinowealthGMOWController/RGBController_SinowealthGMOW.cpp +++ b/Controllers/SinowealthController/SinowealthGMOWController/RGBController_SinowealthGMOW.cpp @@ -158,6 +158,8 @@ RGBController_GMOW::RGBController_GMOW(SinowealthGMOWController* controller_ptr) RGBController_GMOW::~RGBController_GMOW() { + Shutdown(); + delete controller; } diff --git a/Controllers/SinowealthController/SinowealthKeyboard10cController/RGBController_SinowealthKeyboard10c.cpp b/Controllers/SinowealthController/SinowealthKeyboard10cController/RGBController_SinowealthKeyboard10c.cpp index bf0d1ace..5ada6459 100644 --- a/Controllers/SinowealthController/SinowealthKeyboard10cController/RGBController_SinowealthKeyboard10c.cpp +++ b/Controllers/SinowealthController/SinowealthKeyboard10cController/RGBController_SinowealthKeyboard10c.cpp @@ -71,6 +71,8 @@ RGBController_SinowealthKeyboard10c::RGBController_SinowealthKeyboard10c( RGBController_SinowealthKeyboard10c::~RGBController_SinowealthKeyboard10c() { + Shutdown(); + keepalive_thread_run = false; keepalive_thread->join(); delete keepalive_thread; diff --git a/Controllers/SinowealthController/SinowealthKeyboard16Controller/RGBController_SinowealthKeyboard16.cpp b/Controllers/SinowealthController/SinowealthKeyboard16Controller/RGBController_SinowealthKeyboard16.cpp index 6f800186..6ca5be02 100644 --- a/Controllers/SinowealthController/SinowealthKeyboard16Controller/RGBController_SinowealthKeyboard16.cpp +++ b/Controllers/SinowealthController/SinowealthKeyboard16Controller/RGBController_SinowealthKeyboard16.cpp @@ -263,6 +263,8 @@ RGBController_SinowealthKeyboard16::RGBController_SinowealthKeyboard16(Sinowealt RGBController_SinowealthKeyboard16::~RGBController_SinowealthKeyboard16() { + Shutdown(); + delete controller; } diff --git a/Controllers/SinowealthController/SinowealthKeyboard90Controller/RGBController_SinowealthKeyboard90.cpp b/Controllers/SinowealthController/SinowealthKeyboard90Controller/RGBController_SinowealthKeyboard90.cpp index 84902d22..fafa2bb9 100644 --- a/Controllers/SinowealthController/SinowealthKeyboard90Controller/RGBController_SinowealthKeyboard90.cpp +++ b/Controllers/SinowealthController/SinowealthKeyboard90Controller/RGBController_SinowealthKeyboard90.cpp @@ -79,6 +79,8 @@ RGBController_SinowealthKeyboard90::RGBController_SinowealthKeyboard90(Sinowealt RGBController_SinowealthKeyboard90::~RGBController_SinowealthKeyboard90() { + Shutdown(); + delete controller; } diff --git a/Controllers/SinowealthController/SinowealthKeyboardController/RGBController_SinowealthKeyboard.cpp b/Controllers/SinowealthController/SinowealthKeyboardController/RGBController_SinowealthKeyboard.cpp index 04cb9679..277db645 100644 --- a/Controllers/SinowealthController/SinowealthKeyboardController/RGBController_SinowealthKeyboard.cpp +++ b/Controllers/SinowealthController/SinowealthKeyboardController/RGBController_SinowealthKeyboard.cpp @@ -406,6 +406,8 @@ RGBController_SinowealthKeyboard::RGBController_SinowealthKeyboard(SinowealthKey RGBController_SinowealthKeyboard::~RGBController_SinowealthKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/SkyloongController/RGBController_SkyloongGK104Pro.cpp b/Controllers/SkyloongController/RGBController_SkyloongGK104Pro.cpp index b764a12b..d8223879 100644 --- a/Controllers/SkyloongController/RGBController_SkyloongGK104Pro.cpp +++ b/Controllers/SkyloongController/RGBController_SkyloongGK104Pro.cpp @@ -76,6 +76,8 @@ RGBController_SkyloongGK104Pro::RGBController_SkyloongGK104Pro(SkyloongGK104ProC RGBController_SkyloongGK104Pro::~RGBController_SkyloongGK104Pro() { + Shutdown(); + delete controller; } diff --git a/Controllers/SonyGamepadController/SonyDS4Controller/RGBController_SonyDS4.cpp b/Controllers/SonyGamepadController/SonyDS4Controller/RGBController_SonyDS4.cpp index 9e2ec64d..998a1ab7 100644 --- a/Controllers/SonyGamepadController/SonyDS4Controller/RGBController_SonyDS4.cpp +++ b/Controllers/SonyGamepadController/SonyDS4Controller/RGBController_SonyDS4.cpp @@ -46,6 +46,8 @@ RGBController_SonyDS4::RGBController_SonyDS4(SonyDS4Controller* controller_ptr) RGBController_SonyDS4::~RGBController_SonyDS4() { + Shutdown(); + delete controller; } diff --git a/Controllers/SonyGamepadController/SonyDualSenseController/RGBController_SonyDualSense.cpp b/Controllers/SonyGamepadController/SonyDualSenseController/RGBController_SonyDualSense.cpp index 21a138a7..a876d9eb 100644 --- a/Controllers/SonyGamepadController/SonyDualSenseController/RGBController_SonyDualSense.cpp +++ b/Controllers/SonyGamepadController/SonyDualSenseController/RGBController_SonyDualSense.cpp @@ -75,6 +75,8 @@ RGBController_SonyDualSense::RGBController_SonyDualSense(SonyDualSenseController RGBController_SonyDualSense::~RGBController_SonyDualSense() { + Shutdown(); + delete controller; } diff --git a/Controllers/SteelSeriesController/SteelSeriesApex3Controller/RGBController_SteelSeriesApex3.cpp b/Controllers/SteelSeriesController/SteelSeriesApex3Controller/RGBController_SteelSeriesApex3.cpp index e1ccc581..966ca372 100644 --- a/Controllers/SteelSeriesController/SteelSeriesApex3Controller/RGBController_SteelSeriesApex3.cpp +++ b/Controllers/SteelSeriesController/SteelSeriesApex3Controller/RGBController_SteelSeriesApex3.cpp @@ -65,6 +65,8 @@ RGBController_SteelSeriesApex3::RGBController_SteelSeriesApex3(SteelSeriesApex3C RGBController_SteelSeriesApex3::~RGBController_SteelSeriesApex3() { + Shutdown(); + delete controller; } diff --git a/Controllers/SteelSeriesController/SteelSeriesApexController/RGBController_SteelSeriesApex.cpp b/Controllers/SteelSeriesController/SteelSeriesApexController/RGBController_SteelSeriesApex.cpp index 3c9c22cc..64a4f0d5 100644 --- a/Controllers/SteelSeriesController/SteelSeriesApexController/RGBController_SteelSeriesApex.cpp +++ b/Controllers/SteelSeriesController/SteelSeriesApexController/RGBController_SteelSeriesApex.cpp @@ -65,6 +65,8 @@ RGBController_SteelSeriesApex::RGBController_SteelSeriesApex(SteelSeriesApexBase RGBController_SteelSeriesApex::~RGBController_SteelSeriesApex() { + Shutdown(); + delete controller; } diff --git a/Controllers/SteelSeriesController/SteelSeriesArctis5Controller/RGBController_SteelSeriesArctis5.cpp b/Controllers/SteelSeriesController/SteelSeriesArctis5Controller/RGBController_SteelSeriesArctis5.cpp index 62c8568b..29359e04 100644 --- a/Controllers/SteelSeriesController/SteelSeriesArctis5Controller/RGBController_SteelSeriesArctis5.cpp +++ b/Controllers/SteelSeriesController/SteelSeriesArctis5Controller/RGBController_SteelSeriesArctis5.cpp @@ -46,6 +46,8 @@ RGBController_SteelSeriesArctis5::RGBController_SteelSeriesArctis5(SteelSeriesAr RGBController_SteelSeriesArctis5::~RGBController_SteelSeriesArctis5() { + Shutdown(); + delete controller; } diff --git a/Controllers/SteelSeriesController/SteelSeriesOldApexController/RGBController_SteelSeriesOldApex.cpp b/Controllers/SteelSeriesController/SteelSeriesOldApexController/RGBController_SteelSeriesOldApex.cpp index 96a8329d..f8d0f172 100644 --- a/Controllers/SteelSeriesController/SteelSeriesOldApexController/RGBController_SteelSeriesOldApex.cpp +++ b/Controllers/SteelSeriesController/SteelSeriesOldApexController/RGBController_SteelSeriesOldApex.cpp @@ -50,6 +50,8 @@ RGBController_SteelSeriesOldApex::RGBController_SteelSeriesOldApex(SteelSeriesOl RGBController_SteelSeriesOldApex::~RGBController_SteelSeriesOldApex() { + Shutdown(); + delete controller; } diff --git a/Controllers/SteelSeriesController/SteelSeriesQCKMatController/RGBController_SteelSeriesQCKMat.cpp b/Controllers/SteelSeriesController/SteelSeriesQCKMatController/RGBController_SteelSeriesQCKMat.cpp index ab08eb33..d105e420 100644 --- a/Controllers/SteelSeriesController/SteelSeriesQCKMatController/RGBController_SteelSeriesQCKMat.cpp +++ b/Controllers/SteelSeriesController/SteelSeriesQCKMatController/RGBController_SteelSeriesQCKMat.cpp @@ -44,6 +44,8 @@ RGBController_SteelSeriesQCKMat::RGBController_SteelSeriesQCKMat(SteelSeriesQCKM RGBController_SteelSeriesQCKMat::~RGBController_SteelSeriesQCKMat() { + Shutdown(); + delete controller; } diff --git a/Controllers/SteelSeriesController/SteelSeriesRival3Controller/RGBController_SteelSeriesRival3.cpp b/Controllers/SteelSeriesController/SteelSeriesRival3Controller/RGBController_SteelSeriesRival3.cpp index dcd291f1..8ffd2122 100644 --- a/Controllers/SteelSeriesController/SteelSeriesRival3Controller/RGBController_SteelSeriesRival3.cpp +++ b/Controllers/SteelSeriesController/SteelSeriesRival3Controller/RGBController_SteelSeriesRival3.cpp @@ -113,6 +113,8 @@ void RGBController_SteelSeriesRival3::DeviceSaveMode() RGBController_SteelSeriesRival3::~RGBController_SteelSeriesRival3() { + Shutdown(); + delete controller; } diff --git a/Controllers/SteelSeriesController/SteelSeriesRivalController/RGBController_SteelSeriesRival.cpp b/Controllers/SteelSeriesController/SteelSeriesRivalController/RGBController_SteelSeriesRival.cpp index f58cb669..427337f1 100644 --- a/Controllers/SteelSeriesController/SteelSeriesRivalController/RGBController_SteelSeriesRival.cpp +++ b/Controllers/SteelSeriesController/SteelSeriesRivalController/RGBController_SteelSeriesRival.cpp @@ -82,6 +82,8 @@ RGBController_SteelSeriesRival::RGBController_SteelSeriesRival(SteelSeriesRivalC RGBController_SteelSeriesRival::~RGBController_SteelSeriesRival() { + Shutdown(); + delete controller; } diff --git a/Controllers/SteelSeriesController/SteelSeriesSenseiController/RGBController_SteelSeriesSensei.cpp b/Controllers/SteelSeriesController/SteelSeriesSenseiController/RGBController_SteelSeriesSensei.cpp index b42f13ff..6ef2f91e 100644 --- a/Controllers/SteelSeriesController/SteelSeriesSenseiController/RGBController_SteelSeriesSensei.cpp +++ b/Controllers/SteelSeriesController/SteelSeriesSenseiController/RGBController_SteelSeriesSensei.cpp @@ -66,6 +66,8 @@ RGBController_SteelSeriesSensei::RGBController_SteelSeriesSensei(SteelSeriesSens RGBController_SteelSeriesSensei::~RGBController_SteelSeriesSensei() { + Shutdown(); + delete controller; } diff --git a/Controllers/SteelSeriesController/SteelSeriesSiberiaController/RGBController_SteelSeriesSiberia.cpp b/Controllers/SteelSeriesController/SteelSeriesSiberiaController/RGBController_SteelSeriesSiberia.cpp index 14873ab3..5125e943 100644 --- a/Controllers/SteelSeriesController/SteelSeriesSiberiaController/RGBController_SteelSeriesSiberia.cpp +++ b/Controllers/SteelSeriesController/SteelSeriesSiberiaController/RGBController_SteelSeriesSiberia.cpp @@ -44,6 +44,8 @@ RGBController_SteelSeriesSiberia::RGBController_SteelSeriesSiberia(SteelSeriesSi RGBController_SteelSeriesSiberia::~RGBController_SteelSeriesSiberia() { + Shutdown(); + delete controller; } diff --git a/Controllers/StreamDeckController/RGBController_ElgatoStreamDeck.cpp b/Controllers/StreamDeckController/RGBController_ElgatoStreamDeck.cpp index 24345f4b..4cb3fc80 100644 --- a/Controllers/StreamDeckController/RGBController_ElgatoStreamDeck.cpp +++ b/Controllers/StreamDeckController/RGBController_ElgatoStreamDeck.cpp @@ -43,6 +43,8 @@ RGBController_ElgatoStreamDeck::RGBController_ElgatoStreamDeck(ElgatoStreamDeckC RGBController_ElgatoStreamDeck::~RGBController_ElgatoStreamDeck() { + Shutdown(); + delete controller; } diff --git a/Controllers/TForceXtreemController/RGBController_TForceXtreem.cpp b/Controllers/TForceXtreemController/RGBController_TForceXtreem.cpp index 3ca0f1ca..e0c260f8 100644 --- a/Controllers/TForceXtreemController/RGBController_TForceXtreem.cpp +++ b/Controllers/TForceXtreemController/RGBController_TForceXtreem.cpp @@ -261,6 +261,8 @@ RGBController_TForceXtreem::RGBController_TForceXtreem(TForceXtreemController * RGBController_TForceXtreem::~RGBController_TForceXtreem() { + Shutdown(); + delete controller; } diff --git a/Controllers/TecknetController/RGBController_Tecknet.cpp b/Controllers/TecknetController/RGBController_Tecknet.cpp index 085bebdd..caa1865f 100644 --- a/Controllers/TecknetController/RGBController_Tecknet.cpp +++ b/Controllers/TecknetController/RGBController_Tecknet.cpp @@ -67,6 +67,8 @@ RGBController_Tecknet::RGBController_Tecknet(TecknetController* controller_ptr) RGBController_Tecknet::~RGBController_Tecknet() { + Shutdown(); + delete controller; } diff --git a/Controllers/ThermaltakePoseidonZRGBController/RGBController_ThermaltakePoseidonZRGB.cpp b/Controllers/ThermaltakePoseidonZRGBController/RGBController_ThermaltakePoseidonZRGB.cpp index c5b68ac0..ec04752c 100644 --- a/Controllers/ThermaltakePoseidonZRGBController/RGBController_ThermaltakePoseidonZRGB.cpp +++ b/Controllers/ThermaltakePoseidonZRGBController/RGBController_ThermaltakePoseidonZRGB.cpp @@ -212,6 +212,8 @@ RGBController_PoseidonZRGB::RGBController_PoseidonZRGB(PoseidonZRGBController* c RGBController_PoseidonZRGB::~RGBController_PoseidonZRGB() { + Shutdown(); + delete controller; } diff --git a/Controllers/ThermaltakeRiingController/ThermaltakeRiingController/RGBController_ThermaltakeRiing.cpp b/Controllers/ThermaltakeRiingController/ThermaltakeRiingController/RGBController_ThermaltakeRiing.cpp index 1e4e3e2e..8b4949b9 100644 --- a/Controllers/ThermaltakeRiingController/ThermaltakeRiingController/RGBController_ThermaltakeRiing.cpp +++ b/Controllers/ThermaltakeRiingController/ThermaltakeRiingController/RGBController_ThermaltakeRiing.cpp @@ -122,6 +122,8 @@ RGBController_ThermaltakeRiing::RGBController_ThermaltakeRiing(ThermaltakeRiingC RGBController_ThermaltakeRiing::~RGBController_ThermaltakeRiing() { + Shutdown(); + delete controller; } diff --git a/Controllers/ThermaltakeRiingController/ThermaltakeRiingQuadController/RGBController_ThermaltakeRiingQuad.cpp b/Controllers/ThermaltakeRiingController/ThermaltakeRiingQuadController/RGBController_ThermaltakeRiingQuad.cpp index c237f04e..f0c53876 100644 --- a/Controllers/ThermaltakeRiingController/ThermaltakeRiingQuadController/RGBController_ThermaltakeRiingQuad.cpp +++ b/Controllers/ThermaltakeRiingController/ThermaltakeRiingQuadController/RGBController_ThermaltakeRiingQuad.cpp @@ -48,6 +48,8 @@ RGBController_ThermaltakeRiingQuad::RGBController_ThermaltakeRiingQuad(Thermalta RGBController_ThermaltakeRiingQuad::~RGBController_ThermaltakeRiingQuad() { + Shutdown(); + delete controller; } diff --git a/Controllers/ThermaltakeRiingController/ThermaltakeRiingTrioController/RGBController_ThermaltakeRiingTrio.cpp b/Controllers/ThermaltakeRiingController/ThermaltakeRiingTrioController/RGBController_ThermaltakeRiingTrio.cpp index dc725792..7058c152 100644 --- a/Controllers/ThermaltakeRiingController/ThermaltakeRiingTrioController/RGBController_ThermaltakeRiingTrio.cpp +++ b/Controllers/ThermaltakeRiingController/ThermaltakeRiingTrioController/RGBController_ThermaltakeRiingTrio.cpp @@ -48,6 +48,8 @@ RGBController_ThermaltakeRiingTrio::RGBController_ThermaltakeRiingTrio(Thermalta RGBController_ThermaltakeRiingTrio::~RGBController_ThermaltakeRiingTrio() { + Shutdown(); + delete controller; } diff --git a/Controllers/ThingMController/RGBController_BlinkController.cpp b/Controllers/ThingMController/RGBController_BlinkController.cpp index a34342fa..eebc1b9c 100644 --- a/Controllers/ThingMController/RGBController_BlinkController.cpp +++ b/Controllers/ThingMController/RGBController_BlinkController.cpp @@ -69,6 +69,8 @@ RGBController_BlinkController::RGBController_BlinkController(BlinkController* co RGBController_BlinkController::~RGBController_BlinkController() { + Shutdown(); + delete controller; } diff --git a/Controllers/TrustController/TrustGXT114Controller/RGBController_TrustGXT114.cpp b/Controllers/TrustController/TrustGXT114Controller/RGBController_TrustGXT114.cpp index 1b2cd0ef..6a2c94b6 100644 --- a/Controllers/TrustController/TrustGXT114Controller/RGBController_TrustGXT114.cpp +++ b/Controllers/TrustController/TrustGXT114Controller/RGBController_TrustGXT114.cpp @@ -79,6 +79,8 @@ RGBController_TrustGXT114::RGBController_TrustGXT114(TrustGXT114Controller* cont RGBController_TrustGXT114::~RGBController_TrustGXT114() { + Shutdown(); + delete controller; } diff --git a/Controllers/TrustController/TrustGXT180Controller/RGBController_TrustGXT180.cpp b/Controllers/TrustController/TrustGXT180Controller/RGBController_TrustGXT180.cpp index e8ce8b19..b3294fc7 100644 --- a/Controllers/TrustController/TrustGXT180Controller/RGBController_TrustGXT180.cpp +++ b/Controllers/TrustController/TrustGXT180Controller/RGBController_TrustGXT180.cpp @@ -83,6 +83,8 @@ RGBController_TrustGXT180::RGBController_TrustGXT180(TrustGXT180Controller* cont RGBController_TrustGXT180::~RGBController_TrustGXT180() { + Shutdown(); + delete controller; } diff --git a/Controllers/ValkyrieKeyboardController/RGBController_ValkyrieKeyboard.cpp b/Controllers/ValkyrieKeyboardController/RGBController_ValkyrieKeyboard.cpp index fabe774d..4287287b 100644 --- a/Controllers/ValkyrieKeyboardController/RGBController_ValkyrieKeyboard.cpp +++ b/Controllers/ValkyrieKeyboardController/RGBController_ValkyrieKeyboard.cpp @@ -293,6 +293,8 @@ RGBController_ValkyrieKeyboard::RGBController_ValkyrieKeyboard(ValkyrieKeyboardC RGBController_ValkyrieKeyboard::~RGBController_ValkyrieKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/ViewSonicController/XG270QC/RGBController_XG270QC.cpp b/Controllers/ViewSonicController/XG270QC/RGBController_XG270QC.cpp index f65ddc41..b1b5b181 100644 --- a/Controllers/ViewSonicController/XG270QC/RGBController_XG270QC.cpp +++ b/Controllers/ViewSonicController/XG270QC/RGBController_XG270QC.cpp @@ -84,6 +84,13 @@ RGBController_XG270QC::RGBController_XG270QC(VS_XG270QC_Controller* controller_p RGBController_XG270QC::SetupZones(); } +RGBController_XG270QC::~RGBController_XG270QC() +{ + Shutdown(); + + delete controller; +} + void RGBController_XG270QC::SetupZones() { zone base; diff --git a/Controllers/ViewSonicController/XG270QC/RGBController_XG270QC.h b/Controllers/ViewSonicController/XG270QC/RGBController_XG270QC.h index 0839f2ce..f28372c9 100644 --- a/Controllers/ViewSonicController/XG270QC/RGBController_XG270QC.h +++ b/Controllers/ViewSonicController/XG270QC/RGBController_XG270QC.h @@ -16,6 +16,7 @@ class RGBController_XG270QC : public RGBController { public: RGBController_XG270QC(VS_XG270QC_Controller* controller_ptr); + ~RGBController_XG270QC(); void SetupZones(); diff --git a/Controllers/ViewSonicController/XG270QG/RGBController_XG270QG.cpp b/Controllers/ViewSonicController/XG270QG/RGBController_XG270QG.cpp index ea2734b5..b626a90e 100644 --- a/Controllers/ViewSonicController/XG270QG/RGBController_XG270QG.cpp +++ b/Controllers/ViewSonicController/XG270QG/RGBController_XG270QG.cpp @@ -105,6 +105,13 @@ RGBController_XG270QG::RGBController_XG270QG(VS_XG270QG_Controller* controller_p RGBController_XG270QG::SetupZones(); } +RGBController_XG270QG::~RGBController_XG270QG() +{ + Shutdown(); + + delete controller; +} + void RGBController_XG270QG::SetupZones() { zone base; diff --git a/Controllers/ViewSonicController/XG270QG/RGBController_XG270QG.h b/Controllers/ViewSonicController/XG270QG/RGBController_XG270QG.h index d6ac59a0..47e1d81e 100644 --- a/Controllers/ViewSonicController/XG270QG/RGBController_XG270QG.h +++ b/Controllers/ViewSonicController/XG270QG/RGBController_XG270QG.h @@ -18,6 +18,7 @@ class RGBController_XG270QG : public RGBController { public: RGBController_XG270QG(VS_XG270QG_Controller* controller_ptr); + ~RGBController_XG270QG(); void SetupZones(); diff --git a/Controllers/WinbondGamingKeyboardController/RGBController_WinbondGamingKeyboard.cpp b/Controllers/WinbondGamingKeyboardController/RGBController_WinbondGamingKeyboard.cpp index 68ad6297..ed538f7e 100644 --- a/Controllers/WinbondGamingKeyboardController/RGBController_WinbondGamingKeyboard.cpp +++ b/Controllers/WinbondGamingKeyboardController/RGBController_WinbondGamingKeyboard.cpp @@ -730,6 +730,8 @@ RGBController_WinbondGamingKeyboard::RGBController_WinbondGamingKeyboard(Winbond RGBController_WinbondGamingKeyboard::~RGBController_WinbondGamingKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/WootingKeyboardController/RGBController_WootingKeyboard.cpp b/Controllers/WootingKeyboardController/RGBController_WootingKeyboard.cpp index d5981abc..17b904bc 100644 --- a/Controllers/WootingKeyboardController/RGBController_WootingKeyboard.cpp +++ b/Controllers/WootingKeyboardController/RGBController_WootingKeyboard.cpp @@ -635,6 +635,8 @@ RGBController_WootingKeyboard::RGBController_WootingKeyboard(WootingKeyboardCont RGBController_WootingKeyboard::~RGBController_WootingKeyboard() { + Shutdown(); + delete controller; } diff --git a/Controllers/WushiController/RGBController_WushiL50USB.cpp b/Controllers/WushiController/RGBController_WushiL50USB.cpp index f6233db8..66d2bea2 100644 --- a/Controllers/WushiController/RGBController_WushiL50USB.cpp +++ b/Controllers/WushiController/RGBController_WushiL50USB.cpp @@ -91,6 +91,8 @@ RGBController_WushiL50USB::RGBController_WushiL50USB(WushiL50USBController* cont RGBController_WushiL50USB::~RGBController_WushiL50USB() { + Shutdown(); + delete controller; } diff --git a/Controllers/XPGSummonerKeyboardController/RGBController_XPGSummoner.cpp b/Controllers/XPGSummonerKeyboardController/RGBController_XPGSummoner.cpp index b7f7ff63..360c7632 100644 --- a/Controllers/XPGSummonerKeyboardController/RGBController_XPGSummoner.cpp +++ b/Controllers/XPGSummonerKeyboardController/RGBController_XPGSummoner.cpp @@ -239,6 +239,8 @@ RGBController_XPGSummoner::RGBController_XPGSummoner(XPGSummonerController *cont \*---------------------------------------------------------*/ RGBController_XPGSummoner::~RGBController_XPGSummoner() { + Shutdown(); + delete controller; } diff --git a/Controllers/YeelightController/RGBController_Yeelight.cpp b/Controllers/YeelightController/RGBController_Yeelight.cpp index d3118217..6874079d 100644 --- a/Controllers/YeelightController/RGBController_Yeelight.cpp +++ b/Controllers/YeelightController/RGBController_Yeelight.cpp @@ -65,6 +65,8 @@ RGBController_Yeelight::RGBController_Yeelight(YeelightController* controller_pt RGBController_Yeelight::~RGBController_Yeelight() { + Shutdown(); + delete controller; } diff --git a/Controllers/ZETKeyboardController/RGBController_ZETBladeOptical.cpp b/Controllers/ZETKeyboardController/RGBController_ZETBladeOptical.cpp index f8f69385..6d9ec49d 100644 --- a/Controllers/ZETKeyboardController/RGBController_ZETBladeOptical.cpp +++ b/Controllers/ZETKeyboardController/RGBController_ZETBladeOptical.cpp @@ -432,6 +432,8 @@ RGBController_ZETBladeOptical::RGBController_ZETBladeOptical(ZETBladeOpticalCont RGBController_ZETBladeOptical::~RGBController_ZETBladeOptical() { + Shutdown(); + delete controller; } diff --git a/Controllers/ZalmanZSyncController/RGBController_ZalmanZSync.cpp b/Controllers/ZalmanZSyncController/RGBController_ZalmanZSync.cpp index 18d2d6d6..0f7cfcca 100644 --- a/Controllers/ZalmanZSyncController/RGBController_ZalmanZSync.cpp +++ b/Controllers/ZalmanZSyncController/RGBController_ZalmanZSync.cpp @@ -40,6 +40,8 @@ RGBController_ZalmanZSync::RGBController_ZalmanZSync(ZalmanZSyncController* cont RGBController_ZalmanZSync::~RGBController_ZalmanZSync() { + Shutdown(); + delete controller; } diff --git a/Controllers/ZotacBlackwellGPUController/RGBController_ZotacBlackwellGPU.cpp b/Controllers/ZotacBlackwellGPUController/RGBController_ZotacBlackwellGPU.cpp index 2af9dc8e..4cefff12 100644 --- a/Controllers/ZotacBlackwellGPUController/RGBController_ZotacBlackwellGPU.cpp +++ b/Controllers/ZotacBlackwellGPUController/RGBController_ZotacBlackwellGPU.cpp @@ -246,6 +246,8 @@ RGBController_ZotacBlackwellGPU::RGBController_ZotacBlackwellGPU(ZotacBlackwellG RGBController_ZotacBlackwellGPU::~RGBController_ZotacBlackwellGPU() { + Shutdown(); + delete controller; } diff --git a/Controllers/ZotacTuringGPUController/RGBController_ZotacTuringGPU.cpp b/Controllers/ZotacTuringGPUController/RGBController_ZotacTuringGPU.cpp index 8c0ce443..879d9896 100644 --- a/Controllers/ZotacTuringGPUController/RGBController_ZotacTuringGPU.cpp +++ b/Controllers/ZotacTuringGPUController/RGBController_ZotacTuringGPU.cpp @@ -84,6 +84,8 @@ RGBController_ZotacTuringGPU::RGBController_ZotacTuringGPU(ZotacTuringGPUControl RGBController_ZotacTuringGPU::~RGBController_ZotacTuringGPU() { + Shutdown(); + delete controller; } diff --git a/Controllers/ZotacV2GPUController/RGBController_ZotacV2GPU.cpp b/Controllers/ZotacV2GPUController/RGBController_ZotacV2GPU.cpp index a43fcab1..f7964bf6 100644 --- a/Controllers/ZotacV2GPUController/RGBController_ZotacV2GPU.cpp +++ b/Controllers/ZotacV2GPUController/RGBController_ZotacV2GPU.cpp @@ -341,6 +341,8 @@ RGBController_ZotacV2GPU::RGBController_ZotacV2GPU(ZotacV2GPUController* control RGBController_ZotacV2GPU::~RGBController_ZotacV2GPU() { + Shutdown(); + delete controller; } diff --git a/NetworkServer.cpp b/NetworkServer.cpp index f9ab4a54..1ca33f39 100644 --- a/NetworkServer.cpp +++ b/NetworkServer.cpp @@ -578,6 +578,11 @@ void NetworkServer::SetControllers(std::vector new_controllers) } } + /*-----------------------------------------------------*\ + | Unlock the controller IDs mutex | + \*-----------------------------------------------------*/ + controller_ids_mutex.unlock(); + /*-----------------------------------------------------*\ | Loop through the remaining threads in the old list | | and shut them down, their controller IDs are no | @@ -592,10 +597,9 @@ void NetworkServer::SetControllers(std::vector new_controllers) } /*-----------------------------------------------------*\ - | Unlock the mutexes | + | Unlock the controller threads mutex | \*-----------------------------------------------------*/ controller_threads_mutex.unlock(); - controller_ids_mutex.unlock(); /*-----------------------------------------------------*\ | Clear the controller list updating flag to resume the | @@ -2001,8 +2005,8 @@ void NetworkServer::SendReply_ControllerCount(SOCKET client_sock, unsigned int p controller_count = (unsigned int)controllers.size(); send_in_progress.lock(); - send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), 0); - send(client_sock, (const char *)data_buf, data_size, 0); + send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), MSG_NOSIGNAL); + send(client_sock, (const char *)data_buf, data_size, MSG_NOSIGNAL); send_in_progress.unlock(); delete[] data_buf; @@ -2064,8 +2068,8 @@ void NetworkServer::SendReply_ControllerData(SOCKET client_sock, unsigned int de | Send packet | \*-----------------------------------------------------*/ send_in_progress.lock(); - send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), 0); - send(client_sock, (const char *)reply_data, reply_size, 0); + send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), MSG_NOSIGNAL); + send(client_sock, (const char *)reply_data, reply_size, MSG_NOSIGNAL); send_in_progress.unlock(); /*-----------------------------------------------------*\ @@ -2085,8 +2089,8 @@ void NetworkServer::SendReply_ProtocolVersion(SOCKET client_sock) reply_data = OPENRGB_SDK_PROTOCOL_VERSION; send_in_progress.lock(); - send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), 0); - send(client_sock, (const char *)&reply_data, sizeof(unsigned int), 0); + send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), MSG_NOSIGNAL); + send(client_sock, (const char *)&reply_data, sizeof(unsigned int), MSG_NOSIGNAL); send_in_progress.unlock(); } @@ -2172,8 +2176,8 @@ void NetworkServer::SendReply_ProfileList(SOCKET client_sock) InitNetPacketHeader(&reply_hdr, 0, NET_PACKET_ID_PROFILEMANAGER_GET_PROFILE_LIST, reply_size); send_in_progress.lock(); - send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), 0); - send(client_sock, (const char *)reply_data, reply_size, 0); + send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), MSG_NOSIGNAL); + send(client_sock, (const char *)reply_data, reply_size, MSG_NOSIGNAL); send_in_progress.unlock(); } @@ -2273,8 +2277,8 @@ void NetworkServer::SendReply_PluginList(SOCKET client_sock) InitNetPacketHeader(&reply_hdr, 0, NET_PACKET_ID_PLUGINMANAGER_GET_PLUGIN_LIST, reply_size); send_in_progress.lock(); - send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), 0); - send(client_sock, (const char *)data_buf, reply_size, 0); + send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), MSG_NOSIGNAL); + send(client_sock, (const char *)data_buf, reply_size, MSG_NOSIGNAL); send_in_progress.unlock(); delete [] data_buf; @@ -2287,9 +2291,9 @@ void NetworkServer::SendReply_PluginSpecific(SOCKET client_sock, unsigned int pk InitNetPacketHeader(&reply_hdr, 0, NET_PACKET_ID_PLUGINMANAGER_PLUGIN_SPECIFIC, data_size + sizeof(pkt_id)); send_in_progress.lock(); - send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), 0); - send(client_sock, (const char *)&pkt_id, sizeof(pkt_id), 0); - send(client_sock, (const char *)data, data_size, 0); + send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), MSG_NOSIGNAL); + send(client_sock, (const char *)&pkt_id, sizeof(pkt_id), MSG_NOSIGNAL); + send(client_sock, (const char *)data, data_size, MSG_NOSIGNAL); send_in_progress.unlock(); delete [] data; @@ -2304,7 +2308,7 @@ void NetworkServer::SendRequest_DetectionCompleted(SOCKET client_sock, unsigned InitNetPacketHeader(&pkt_hdr, 0, NET_PACKET_ID_DETECTION_COMPLETE, 0); send_in_progress.lock(); - send(client_sock, (char *)&pkt_hdr, sizeof(NetPacketHeader), 0); + send(client_sock, (char *)&pkt_hdr, sizeof(NetPacketHeader), MSG_NOSIGNAL); send_in_progress.unlock(); } } @@ -2341,8 +2345,8 @@ void NetworkServer::SendRequest_DetectionProgress(SOCKET client_sock, unsigned i InitNetPacketHeader(&reply_hdr, 0, NET_PACKET_ID_DETECTION_PROGRESS_CHANGED, data_size); send_in_progress.lock(); - send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), 0); - send(client_sock, (const char *)data_buf, data_size, 0); + send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), MSG_NOSIGNAL); + send(client_sock, (const char *)data_buf, data_size, MSG_NOSIGNAL); send_in_progress.unlock(); delete [] data_buf; @@ -2358,7 +2362,7 @@ void NetworkServer::SendRequest_DetectionStarted(SOCKET client_sock, unsigned in InitNetPacketHeader(&pkt_hdr, 0, NET_PACKET_ID_DETECTION_STARTED, 0); send_in_progress.lock(); - send(client_sock, (char *)&pkt_hdr, sizeof(NetPacketHeader), 0); + send(client_sock, (char *)&pkt_hdr, sizeof(NetPacketHeader), MSG_NOSIGNAL); send_in_progress.unlock(); } } @@ -2370,7 +2374,7 @@ void NetworkServer::SendRequest_DeviceListChanged(SOCKET client_sock) InitNetPacketHeader(&pkt_hdr, 0, NET_PACKET_ID_DEVICE_LIST_UPDATED, 0); send_in_progress.lock(); - send(client_sock, (char *)&pkt_hdr, sizeof(NetPacketHeader), 0); + send(client_sock, (char *)&pkt_hdr, sizeof(NetPacketHeader), MSG_NOSIGNAL); send_in_progress.unlock(); } @@ -2512,8 +2516,8 @@ void NetworkServer::SendRequest_RGBController_SignalUpdate(RGBController * contr | Send packet | \*-----------------------------------------*/ send_in_progress.lock(); - send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), 0); - send(client_sock, (const char *)reply_data, reply_size, 0); + send(client_sock, (const char *)&reply_hdr, sizeof(NetPacketHeader), MSG_NOSIGNAL); + send(client_sock, (const char *)reply_data, reply_size, MSG_NOSIGNAL); send_in_progress.unlock(); /*-----------------------------------------*\ diff --git a/RGBController/RGBController.cpp b/RGBController/RGBController.cpp index 14451c06..7e93c27d 100644 --- a/RGBController/RGBController.cpp +++ b/RGBController/RGBController.cpp @@ -12,6 +12,7 @@ #include #include "nlohmann/json.hpp" +#include "LogManager.h" #include "RGBController.h" #include "StringUtils.h" @@ -139,11 +140,16 @@ RGBController::RGBController() RGBController::~RGBController() { /*-----------------------------------------------------*\ - | Stop device thread | + | Stop device thread if not already stopped | \*-----------------------------------------------------*/ - DeviceThreadRunning = false; - DeviceCallThread->join(); - delete DeviceCallThread; + if(DeviceThreadRunning) + { + LOG_ERROR("[RGBController] %s: Device thread still active in base class destructor, ensure Shutdown() was called from inherited destructor", name.c_str()); + + DeviceThreadRunning = false; + DeviceCallThread->join(); + delete DeviceCallThread; + } /*-----------------------------------------------------*\ | Clear member vectors | @@ -3597,6 +3603,21 @@ void RGBController::SignalUpdate(unsigned int update_reason) /*---------------------------------------------------------*\ | Device Update Functions | \*---------------------------------------------------------*/ +void RGBController::Shutdown() +{ + /*-----------------------------------------------------*\ + | Stop device thread | + \*-----------------------------------------------------*/ + DeviceThreadRunning = false; + DeviceCallThread->join(); + delete DeviceCallThread; + + /*-----------------------------------------------------*\ + | Lock the access mutex | + \*-----------------------------------------------------*/ + AccessMutex.lock(); +} + void RGBController::UpdateLEDs() { CallFlag_UpdateLEDs = true; diff --git a/RGBController/RGBController.h b/RGBController/RGBController.h index bbde3ed4..0bd6d0ba 100644 --- a/RGBController/RGBController.h +++ b/RGBController/RGBController.h @@ -667,6 +667,8 @@ public: /*-----------------------------------------------------*\ | Device Update Functions | \*-----------------------------------------------------*/ + void Shutdown(); + void UpdateLEDs(); void UpdateZoneLEDs(int zone); void UpdateSingleLED(int led); diff --git a/RGBController/RGBController_Dummy.cpp b/RGBController/RGBController_Dummy.cpp index 8d33e67a..a4b7ac05 100644 --- a/RGBController/RGBController_Dummy.cpp +++ b/RGBController/RGBController_Dummy.cpp @@ -37,6 +37,11 @@ RGBController_Dummy::RGBController_Dummy() } +RGBController_Dummy::~RGBController_Dummy() +{ + Shutdown(); +} + void RGBController_Dummy::SetupZones() { diff --git a/RGBController/RGBController_Dummy.h b/RGBController/RGBController_Dummy.h index 23becad6..4f45ffa5 100644 --- a/RGBController/RGBController_Dummy.h +++ b/RGBController/RGBController_Dummy.h @@ -18,6 +18,7 @@ class RGBController_Dummy : public RGBController { public: RGBController_Dummy(); + ~RGBController_Dummy(); void SetupZones(); diff --git a/RGBController/RGBController_Network.cpp b/RGBController/RGBController_Network.cpp index f017128d..39f44a38 100644 --- a/RGBController/RGBController_Network.cpp +++ b/RGBController/RGBController_Network.cpp @@ -20,6 +20,11 @@ RGBController_Network::RGBController_Network(NetworkClient * client_ptr, unsigne dev_id = dev_id_val; } +RGBController_Network::~RGBController_Network() +{ + Shutdown(); +} + unsigned int RGBController_Network::GetID() { return(dev_id); diff --git a/RGBController/RGBController_Network.h b/RGBController/RGBController_Network.h index 61491abb..a6650548 100644 --- a/RGBController/RGBController_Network.h +++ b/RGBController/RGBController_Network.h @@ -19,6 +19,7 @@ class RGBController_Network : public RGBController { public: RGBController_Network(NetworkClient * client_ptr, unsigned int dev_idx_val); + ~RGBController_Network(); unsigned int GetID();