From c4dd171397dbfa778ae68f8603a93d34d159d380 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Mon, 2 Feb 2026 17:10:37 -0600 Subject: [PATCH] Move RGBController base destructor functionality into RGBController::Shutdown() so that update thread can be stopped before deleting the controller. Shutdown() must be called in every RGBController implementation before deleting the controller. Also some fixes to the NetworkServer to avoid deadlocking and disconnect issues --- .../RGBController_BloodyB820R.cpp | 2 + .../RGBController_BloodyMouse.cpp | 2 + .../AMBXController/RGBController_AMBX.cpp | 2 + .../RGBController_AMDWraithPrism.cpp | 2 + .../RGBController_AOCKeyboard.cpp | 2 + .../RGBController_AOCMouse.cpp | 2 + .../RGBController_AOCMousemat.cpp | 2 + .../RGBController_ASRockPolychromeUSB.cpp | 7 +++ .../RGBController_ASRockPolychromeUSB.h | 1 + .../RGBController_ASRockASRRGBSMBus.cpp | 2 + .../RGBController_ASRockPolychromeV1SMBus.cpp | 2 + .../RGBController_ASRockPolychromeV2SMBus.cpp | 2 + .../RGBController_Alienware.cpp | 7 +++ .../RGBController_Alienware.h | 1 + .../RGBController_AlienwareAW410K.cpp | 2 + .../RGBController_AlienwareAW510K.cpp | 2 + .../RGBController_AlienwareAW3423DWF.cpp | 2 + .../RGBController_AlienwareMonitor.cpp | 2 + .../RGBController_AnnePro2.cpp | 2 + .../ArcticController/RGBController_Arctic.cpp | 2 + .../AresonController/RGBController_Areson.cpp | 2 + .../RGBController_AsusAuraCore.cpp | 12 +++-- .../RGBController_AsusAuraCoreLaptop.cpp | 2 + .../RGBController_AsusAuraGPU.cpp | 2 + .../RGBController_AsusAuraHeadsetStand.cpp | 2 + .../RGBController_AsusAuraKeyboard.cpp | 2 + .../RGBController_AsusAuraMonitor.cpp | 2 + .../RGBController_AsusAuraMouse.cpp | 2 + .../RGBController_AsusROGSpatha.cpp | 2 + .../RGBController_AsusROGStrixEvolve.cpp | 2 + .../RGBController_AsusAuraMousemat.cpp | 2 + .../RGBController_AsusAuraRyuoAIO.cpp | 2 + .../RGBController_AsusAuraTUFKeyboard.cpp | 2 + .../RGBController_AsusAuraUSB.cpp | 2 + .../RGBController_AsusROGAlly.cpp | 2 + .../RGBController_AsusROGStrixLC.cpp | 2 + .../RGBController_AsusCerberusKeyboard.cpp | 2 + .../RGBController_AsusSagarisKeyboard.cpp | 2 + .../RGBController_AsusMonitor.cpp | 2 + .../RGBController_AsusTUFLaptop_Linux.cpp | 7 +++ .../RGBController_AsusTUFLaptop_Linux.h | 1 + .../RGBController_AsusTUFLaptop_Windows.cpp | 2 + .../RGBController_BlinkyTape.cpp | 2 + .../RGBController_CherryKeyboard.cpp | 2 + .../RGBController_ClevoKeyboard.cpp | 2 + .../RGBController_ClevoLightbar.cpp | 2 + .../RGBController_ColorfulGPU.cpp | 2 + .../RGBController_ColorfulTuringGPU.cpp | 2 + .../RGBController_CMARGBController.cpp | 2 + .../RGBController_CMARGBGen2A1Controller.cpp | 2 + .../RGBController_CMGD160Controller.cpp | 2 + .../RGBController_CMKeyboardController.cpp | 2 + .../RGBController_CMMM711Controller.cpp | 2 + .../RGBController_CMMM712Controller.cpp | 2 + .../RGBController_CMMMController.cpp | 2 + .../RGBController_CMMP750Controller.cpp | 2 + .../RGBController_CMMonitorController.cpp | 2 + .../RGBController_CMR6000Controller.cpp | 2 + .../RGBController_CMRGBController.cpp | 2 + .../RGBController_CMSmallARGBController.cpp | 2 + .../RGBController_CorsairCommanderCore.cpp | 2 + ...RGBController_CorsairDominatorPlatinum.cpp | 2 + .../RGBController_CorsairHydro2.cpp | 2 + .../RGBController_CorsairHydro.cpp | 2 + .../RGBController_CorsairHydroPlatinum.cpp | 2 + .../RGBController_CorsairICueLink.cpp | 2 + .../RGBController_CorsairLightingNode.cpp | 2 + .../RGBController_CorsairK55RGBPROXT.cpp | 2 + .../RGBController_CorsairK65Mini.cpp | 2 + .../RGBController_CorsairPeripheral.cpp | 2 + .../RGBController_CorsairV2Hardware.cpp | 2 + .../RGBController_CorsairV2Software.cpp | 2 + .../RGBController_CorsairVengeance.cpp | 2 + .../RGBController_CorsairVengeancePro.cpp | 2 + .../RGBController_CorsairWireless.cpp | 2 + .../RGBController_CougarKeyboard.cpp | 2 + .../RGBController_CougarRevengerST.cpp | 2 + ...roller_CreativeSoundBlasterAE5_Windows.cpp | 2 + .../RGBController_CreativeSoundBlasterXG6.cpp | 2 + .../RGBController_Crucial.cpp | 2 + .../RGBController_CryorigH7QuadLumi.cpp | 2 + .../DDPController/RGBController_DDP.cpp | 2 + .../DMXController/RGBController_DMX.cpp | 2 + .../DRGBController/RGBController_DRGB.cpp | 2 + .../RGBController_DarkProjectKeyboard.cpp | 2 + .../RGBController_DasKeyboard.cpp | 2 + .../DebugController/RGBController_Debug.cpp | 2 +- .../RGBController_DreamCheeky.cpp | 2 + .../RGBController_DuckyKeyboard.cpp | 2 + .../RGBController_DygmaRaise.cpp | 2 + .../E131Controller/RGBController_E131.cpp | 2 + .../RGBController_EKController.cpp | 2 + .../RGBController_ENESMBus.cpp | 2 + .../RGBController_EVGAGPUv3.cpp | 2 + .../RGBController_EVGAGP102.cpp | 2 + .../RGBController_EVGAGPUv1.cpp | 2 + .../RGBController_EVGAACX30SMBus.cpp | 2 + .../RGBController_EVGAGPUv2.cpp | 2 + .../RGBController_EVGAKeyboard.cpp | 2 + .../RGBController_EVGAMouse.cpp | 2 + .../RGBController_EVisionKeyboard.cpp | 2 + .../RGBController_EVisionV2Keyboard.cpp | 2 + .../RGBController_ElgatoKeyLight.cpp | 2 + .../RGBController_ElgatoLightStrip.cpp | 2 + .../RGBController_EpomakerController.cpp | 2 + .../RGBController_Espurna.cpp | 2 + .../FanBusController/RGBController_FanBus.cpp | 2 + .../RGBController_Faustus_Linux.cpp | 5 ++ .../RGBController_Faustus_Linux.h | 1 + .../RGBController_FnaticStreak.cpp | 2 + .../RGBController_GaiZhongGai.cpp | 2 + .../RGBController_GainwardGPUv1.cpp | 2 + .../RGBController_GainwardGPUv2.cpp | 2 + .../RGBController_GalaxGPUv1.cpp | 2 + .../RGBController_GalaxGPUv2.cpp | 2 + .../RGBController_AorusATC800.cpp | 2 + .../RGBController_GigabyteAorusLaptop.cpp | 2 + .../RGBController_GigabyteAorusMouse.cpp | 2 + .../RGBController_GigabyteAorusPCCase.cpp | 2 + ...oller_GigabyteRGBFusion2AorusMasterGPU.cpp | 2 + ...troller_GigabyteRGBFusion2BlackwellGPU.cpp | 2 + .../RGBController_GigabyteRGBFusion2DRAM.cpp | 2 + .../RGBController_GigabyteRGBFusion2GPU.cpp | 2 + .../RGBController_GigabyteRGBFusion2SMBus.cpp | 2 + .../RGBController_GigabyteRGBFusion2USB.cpp | 2 + .../RGBController_GigabyteRGBFusion.cpp | 2 + .../RGBController_GigabyteRGBFusionGPU.cpp | 2 + .../RGBController_GigabyteSuperIORGB.cpp | 2 + .../GoveeController/RGBController_Govee.cpp | 2 + .../RGBController_HPOmen30L.cpp | 2 + .../RGBController_HPOmenLaptopWMI_Windows.cpp | 2 + .../RGBController_HYTEKeyboard.cpp | 2 + .../RGBController_HYTEMousemat.cpp | 2 + .../RGBController_HYTENexus.cpp | 2 + .../RGBController_HoltekA070.cpp | 2 + .../RGBController_HoltekA1FA.cpp | 2 + .../RGBController_HyperXDRAM.cpp | 2 + .../RGBController_HyperXAlloyElite2.cpp | 2 + .../RGBController_HyperXAlloyElite.cpp | 2 + .../RGBController_HyperXAlloyFPS.cpp | 2 + ...GBController_HyperXAlloyOrigins60and65.cpp | 2 + .../RGBController_HyperXAlloyOrigins.cpp | 2 + .../RGBController_HyperXAlloyOriginsCore.cpp | 2 + .../RGBController_HyperXMicrophone.cpp | 2 + .../RGBController_HyperXMicrophoneV2.cpp | 2 + .../RGBController_HyperXPulsefireDart.cpp | 2 + .../RGBController_HyperXPulsefireFPSPro.cpp | 2 + .../RGBController_HyperXPulsefireHaste.cpp | 2 + .../RGBController_HyperXPulsefireRaid.cpp | 6 +++ .../RGBController_HyperXPulsefireSurge.cpp | 2 + .../RGBController_HyperXMousemat.cpp | 2 + .../RGBController_InstantMouse.cpp | 2 + .../RGBController_IntelArcA770LE.cpp | 2 + .../IonicoController/RGBController_Ionico.cpp | 2 + .../RGBController_JGINYUEInternalUSB.cpp | 2 + .../RGBController_JGINYUEInternalUSBV2.cpp | 2 + .../RGBController_KasaSmart.cpp | 2 + .../RGBController_KeychronKeyboard.cpp | 2 + .../RGBController_KingstonFuryDRAM.cpp | 2 + .../RGBController_LEDStrip.cpp | 2 + .../RGBController_LGMonitor.cpp | 2 + .../LIFXController/RGBController_LIFX.cpp | 2 + .../RGBController_LaviewTechnology.cpp | 12 +++-- ...RGBController_LegoDimensionsToypadBase.cpp | 2 + .../RGBController_Lenovo4ZoneUSB.cpp | 2 + .../RGBController_LenovoK510.cpp | 2 + .../RGBController_LenovoM300.cpp | 2 + .../RGBController_LenovoUSB.cpp | 2 + .../RGBController_Lenovo_Gen7_8.cpp | 2 + .../RGBController_LenovoMotherboard.cpp | 2 + .../RGBController_LexipMouse.cpp | 2 + .../RGBController_LianLiGAIITrinity.cpp | 2 + .../RGBController_LianLiStrimerLConnect.cpp | 2 + .../RGBController_LianLiUniHubAL.cpp | 2 + .../RGBController_LianLiUniHub.cpp | 7 +++ .../RGBController_LianLiUniHub.h | 1 + .../RGBController_LianLiUniHubSL.cpp | 2 + .../RGBController_LianLiUniHubSLInfinity.cpp | 2 + .../RGBController_LianLiUniHubSLV2.cpp | 2 + .../RGBController_LianLiUniHub_AL10.cpp | 7 +++ .../RGBController_LianLiUniHub_AL10.h | 1 + .../RGBController_LianLiUniversalScreen.cpp | 7 +++ .../RGBController_LianLiUniversalScreen.h | 1 + .../RGBController_LightSalt.cpp | 2 + .../RGBController_LinuxLED_Linux.cpp | 2 + .../RGBController_LogitechG203L.cpp | 2 + .../RGBController_LogitechG213.cpp | 2 + .../RGBController_LogitechG560.cpp | 7 +++ .../RGBController_LogitechG560.h | 1 + .../RGBController_LogitechG600.cpp | 2 + .../RGBController_LogitechG810.cpp | 2 + .../RGBController_LogitechG815.cpp | 2 + .../RGBController_LogitechG910.cpp | 2 + .../RGBController_LogitechG915.cpp | 2 + .../RGBController_LogitechG933.cpp | 7 +++ .../RGBController_LogitechG933.h | 1 + .../RGBController_LogitechGLightsync.cpp | 2 + .../RGBController_LogitechGLightsync1zone.cpp | 2 + .../RGBController_LogitechGPowerPlay.cpp | 2 + .../RGBController_LogitechGProKeyboard.cpp | 2 + .../RGBController_LogitechLightspeed.cpp | 2 + .../RGBController_LogitechX56.cpp | 2 + .../RGBController_Luxafor.cpp | 2 + .../RGBController_MNTKeyboard.cpp | 2 + .../RGBController_MSI3Zone.cpp | 2 + .../MSIGPUController/RGBController_MSIGPU.cpp | 2 + .../RGBController_MSIGPUv2.cpp | 2 + .../RGBController_MSIMysticLightKB.cpp | 2 + .../RGBController_MSIMysticLight112.cpp | 2 + .../RGBController_MSIMysticLight162.cpp | 2 + .../RGBController_MSIMysticLight185.cpp | 2 + .../RGBController_MSIMysticLight64.cpp | 2 + .../RGBController_MSIMysticLight761.cpp | 2 + .../RGBController_MSIOptix.cpp | 2 + .../MSIRGBController/RGBController_MSIRGB.cpp | 2 + .../RGBController_MSIVigorGK30.cpp | 2 + .../RGBController_MadCatzCyborg.cpp | 2 + .../RGBController_ManliGPU.cpp | 2 + .../RGBController_MintakaKeyboard.cpp | 2 + .../RGBController_Mountain60Keyboard.cpp | 2 + .../RGBController_MountainKeyboard.cpp | 2 + .../N5312AController/RGBController_N5312A.cpp | 2 + ...oller_NVIDIAIllumination_Windows_Linux.cpp | 2 + .../RGBController_NZXTHue1.cpp | 2 + .../RGBController_NZXTHue2.cpp | 2 + .../RGBController_NZXTHuePlus.cpp | 2 + .../RGBController_NZXTKraken.cpp | 2 + .../RGBController_NZXTMouse.cpp | 2 + .../RGBController_Nanoleaf.cpp | 5 ++ .../RGBController_Nanoleaf.h | 1 + .../NollieController/RGBController_Nollie.cpp | 2 + .../RGBController_NvidiaESA.cpp | 2 + .../RGBController_OKSKeyboard.cpp | 2 + .../RGBController_PNYARGBEpicXGPU.cpp | 2 + .../PNYGPUController/RGBController_PNYGPU.cpp | 7 +++ .../PNYGPUController/RGBController_PNYGPU.h | 1 + .../RGBController_PNYLovelaceGPU.cpp | 7 +++ .../RGBController_PNYLovelaceGPU.h | 1 + .../RGBController_PalitGPU.cpp | 7 +++ .../RGBController_PalitGPU.h | 1 + .../RGBController_PatriotViper.cpp | 2 + .../RGBController_PatriotViperMouse.cpp | 2 + .../RGBController_PatriotViperSteel.cpp | 2 + .../RGBController_PhilipsHue.cpp | 7 +++ .../RGBController_PhilipsHue.h | 1 + .../RGBController_PhilipsHueEntertainment.cpp | 7 +++ .../RGBController_PhilipsHueEntertainment.h | 1 + .../RGBController_PhilipsWiz.cpp | 2 + .../RGBController_PowerColorRedDevilV1.cpp | 2 + .../RGBController_PowerColorRedDevilV2.cpp | 2 + .../RGBController_QMKOpenRGBRev9.cpp | 2 + .../RGBController_QMKOpenRGBRevB.cpp | 2 + .../RGBController_QMKOpenRGBRevD.cpp | 2 + .../RGBController_QMKOpenRGBRevE.cpp | 2 + .../RGBController_QMKVialRGB.cpp | 2 + .../RazerController/RGBController_Razer.cpp | 2 + .../RGBController_RazerAddressable.cpp | 2 + .../RGBController_RazerHanbo.cpp | 2 + .../RGBController_RazerKraken.cpp | 2 + .../RGBController_RazerKrakenV3.cpp | 2 + .../RGBController_RazerKrakenV4.cpp | 2 + .../RGBController_RedSquareKeyrox.cpp | 2 + ...GBController_RedSquareKeyroxTKLClassic.cpp | 2 + .../RGBController_RedragonMouse.cpp | 2 + .../RGBController_RobobloqLightStrip.cpp | 2 + .../RGBController_RoccatBurst.cpp | 2 + .../RGBController_RoccatBurstProAir.cpp | 2 + .../RGBController_RoccatElo.cpp | 2 + .../RGBController_RoccatHordeAimo.cpp | 2 + .../RGBController_RoccatKoneAimo.cpp | 2 + .../RGBController_RoccatKoneProAir.cpp | 2 + .../RGBController_RoccatKonePro.cpp | 2 + .../RGBController_RoccatKoneXP.cpp | 2 + .../RGBController_RoccatKova.cpp | 2 + .../RGBController_RoccatSenseAimo.cpp | 2 + .../RGBController_RoccatVulcanKeyboard.cpp | 2 + .../RGBController_SRGBmodsLEDControllerV1.cpp | 2 + .../RGBController_SRGBmodsPico.cpp | 2 + .../RGBController_SapphireNitroGlowV1.cpp | 2 + .../RGBController_SapphireNitroGlowV3.cpp | 2 + .../RGBController_Seagate.cpp | 2 + .../RGBController_GenesisXenon200.cpp | 2 + .../RGBController_Sinowealth1007.cpp | 2 + .../RGBController_Sinowealth.cpp | 2 + .../RGBController_SinowealthGMOW.cpp | 2 + .../RGBController_SinowealthKeyboard10c.cpp | 2 + .../RGBController_SinowealthKeyboard16.cpp | 2 + .../RGBController_SinowealthKeyboard90.cpp | 2 + .../RGBController_SinowealthKeyboard.cpp | 2 + .../RGBController_SkyloongGK104Pro.cpp | 2 + .../RGBController_SonyDS4.cpp | 2 + .../RGBController_SonyDualSense.cpp | 2 + .../RGBController_SteelSeriesApex3.cpp | 2 + .../RGBController_SteelSeriesApex.cpp | 2 + .../RGBController_SteelSeriesArctis5.cpp | 2 + .../RGBController_SteelSeriesOldApex.cpp | 2 + .../RGBController_SteelSeriesQCKMat.cpp | 2 + .../RGBController_SteelSeriesRival3.cpp | 2 + .../RGBController_SteelSeriesRival.cpp | 2 + .../RGBController_SteelSeriesSensei.cpp | 2 + .../RGBController_SteelSeriesSiberia.cpp | 2 + .../RGBController_ElgatoStreamDeck.cpp | 2 + .../RGBController_TForceXtreem.cpp | 2 + .../RGBController_Tecknet.cpp | 2 + .../RGBController_ThermaltakePoseidonZRGB.cpp | 2 + .../RGBController_ThermaltakeRiing.cpp | 2 + .../RGBController_ThermaltakeRiingQuad.cpp | 2 + .../RGBController_ThermaltakeRiingTrio.cpp | 2 + .../RGBController_BlinkController.cpp | 2 + .../RGBController_TrustGXT114.cpp | 2 + .../RGBController_TrustGXT180.cpp | 2 + .../RGBController_ValkyrieKeyboard.cpp | 2 + .../XG270QC/RGBController_XG270QC.cpp | 7 +++ .../XG270QC/RGBController_XG270QC.h | 1 + .../XG270QG/RGBController_XG270QG.cpp | 7 +++ .../XG270QG/RGBController_XG270QG.h | 1 + .../RGBController_WinbondGamingKeyboard.cpp | 2 + .../RGBController_WootingKeyboard.cpp | 2 + .../RGBController_WushiL50USB.cpp | 2 + .../RGBController_XPGSummoner.cpp | 2 + .../RGBController_Yeelight.cpp | 2 + .../RGBController_ZETBladeOptical.cpp | 2 + .../RGBController_ZalmanZSync.cpp | 2 + .../RGBController_ZotacTuringGPU.cpp | 2 + .../RGBController_ZotacV2GPU.cpp | 2 + NetworkServer.cpp | 48 ++++++++++--------- RGBController/RGBController.cpp | 29 +++++++++-- RGBController/RGBController.h | 2 + RGBController/RGBController_Dummy.cpp | 5 ++ RGBController/RGBController_Dummy.h | 1 + RGBController/RGBController_Network.cpp | 5 ++ RGBController/RGBController_Network.h | 1 + 332 files changed, 792 insertions(+), 37 deletions(-) diff --git a/Controllers/A4TechController/BloodyB820RController/RGBController_BloodyB820R.cpp b/Controllers/A4TechController/BloodyB820RController/RGBController_BloodyB820R.cpp index e05df15f0..7542041ba 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 49c139b89..0ca8d3dfa 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 6daeabb07..a543c791d 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 4b65cfb20..d619c78fd 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 f8a60d8b3..5793a5af1 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 6102931f3..3ad7c4ac4 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 5ef058064..4fa23bbfa 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 1e111234e..9231fc021 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 de5c70c23..859782565 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 b21ee7262..ddd916c80 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 c524d8783..5a065c12c 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 8dbbd964b..46d18da4d 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 49d1e22a4..4ae388d7b 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 ffcd6da55..b3ebb7206 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 76bbeaf52..8b276783f 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 06488f1d6..98d3f36d1 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 8270b6e88..4409f82dd 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 8a247a242..a64cc56c5 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 5a537ff9a..f90a689ba 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 1eea37236..5e46322fe 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 388517da6..d840d763a 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 248b3f5c6..a17a4192c 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 caacb2c6b..7103fa60b 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 3ecf33683..d238dcd75 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 5792e0512..a74d14992 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 7a085c7d4..513d0878a 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 0d0241b8e..b5957773a 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 666d738a7..1d5bc833e 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 c7491c5ae..785c20931 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 8b700c2a4..978754b13 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 31f39f635..b81c12837 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 f4b7ccba9..3fe0acfb6 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 a2f38c0f0..a6ecc6006 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 1a4f6ebe6..3d1405c21 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 2fa4a6331..7dedc0c5f 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 0a8be8872..ec66e9880 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 551ac8c2e..0f3feaadb 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 1cd14a988..8408f3bfd 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 bd8a0ad4e..921680118 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 4761f82a2..54a6f720e 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 f7b0071be..09437bfa9 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 6cd4a13c8..b6f96cafb 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 99695baea..0835df071 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 280f15f38..8a1626479 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 e33674052..142dec644 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 68fabb2ff..7558950c3 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 20e070e61..90579bdb2 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 59acc4592..09b799603 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 a1ce62c79..a72730167 100644 --- a/Controllers/CoolerMasterController/CMARGBController/RGBController_CMARGBController.cpp +++ b/Controllers/CoolerMasterController/CMARGBController/RGBController_CMARGBController.cpp @@ -293,6 +293,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 7bbeeb18e..edb922cc3 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 243b5952e..b324b04c8 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 90c99634e..af2e88930 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 9b149099b..e73fbf5ba 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 4712d6b18..14ac338d6 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 ed7dc088e..84f90b34f 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 56913d955..30aa4b086 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 bd802058a..073195aa6 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 a42a9717e..728b11a04 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 a4d940e1c..9c3d73b45 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 869dcb7e1..0eaadc848 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 b4ea5f9ef..18d714078 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/CorsairDominatorPlatinumController/RGBController_CorsairDominatorPlatinum.cpp b/Controllers/CorsairDominatorPlatinumController/RGBController_CorsairDominatorPlatinum.cpp index 850e13609..dd101a763 100644 --- a/Controllers/CorsairDominatorPlatinumController/RGBController_CorsairDominatorPlatinum.cpp +++ b/Controllers/CorsairDominatorPlatinumController/RGBController_CorsairDominatorPlatinum.cpp @@ -59,6 +59,8 @@ RGBController_CorsairDominatorPlatinum::RGBController_CorsairDominatorPlatinum(C RGBController_CorsairDominatorPlatinum::~RGBController_CorsairDominatorPlatinum() { + Shutdown(); + delete controller; } diff --git a/Controllers/CorsairHydro2Controller/RGBController_CorsairHydro2.cpp b/Controllers/CorsairHydro2Controller/RGBController_CorsairHydro2.cpp index e732a9c3e..36f7886a2 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 5008aa970..90f084277 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 e3f4f58c8..7872f4519 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 fc9801741..5b4fb4ef3 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 1ef706e9c..ffd739439 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 2a644df1d..8ea412b03 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 aaff46877..1ff93e1e4 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 899f18cd4..5a228c312 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 789c62169..4dc34f121 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 41b5c10bd..93f64bb58 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 0e895a53a..e64c3f636 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/CorsairVengeanceProController/RGBController_CorsairVengeancePro.cpp b/Controllers/CorsairVengeanceProController/RGBController_CorsairVengeancePro.cpp index 6eb33094e..54980e48c 100644 --- a/Controllers/CorsairVengeanceProController/RGBController_CorsairVengeancePro.cpp +++ b/Controllers/CorsairVengeanceProController/RGBController_CorsairVengeancePro.cpp @@ -175,6 +175,8 @@ RGBController_CorsairVengeancePro::RGBController_CorsairVengeancePro(CorsairVeng RGBController_CorsairVengeancePro::~RGBController_CorsairVengeancePro() { + Shutdown(); + delete controller; } diff --git a/Controllers/CorsairWirelessController/RGBController_CorsairWireless.cpp b/Controllers/CorsairWirelessController/RGBController_CorsairWireless.cpp index 588984872..cfdf0b41f 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 c4b262a61..fb707c78f 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 b7f4181a5..326ccf42d 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 607ced0f4..580d99618 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 bf5a5539d..11010e518 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 9d46be61b..ddfbd4e26 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 7b7a50948..c7f38ad3b 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 fefc256cc..356dcab0f 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 9db7b520d..699a69861 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 8e48bb196..1b8691fd1 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 a9e9675ce..f5be14774 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 8cadb39df..74897c216 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 c3584c072..4009e8e48 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 63dd861e5..eecdaf537 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 345530191..0971bad92 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 6d951ac87..c859c80af 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 0f8471f5d..9e7ba6eaf 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 a5c7e0fa8..becf4fce7 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 4a0415f60..65fe1b56d 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 22c88a58a..dc68392bf 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 c3496eafb..e06b451ee 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 1314d734f..089efe7e0 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 738acd42e..f884eede2 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 de6c94e24..4abe648b8 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 2019b92cc..52a8bacf3 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 f347502f9..145fe17ee 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 1d3f75294..07d8984a5 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 7110ef33a..303b7291e 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 cf2f10151..1060074b2 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 5225116bc..ff2e4930a 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/GigabyteRGBFusion2AorusMasterGPUController/RGBController_GigabyteRGBFusion2AorusMasterGPU.cpp b/Controllers/GigabyteRGBFusion2AorusMasterGPUController/RGBController_GigabyteRGBFusion2AorusMasterGPU.cpp index d4e0f94ba..89fbe2390 100644 --- a/Controllers/GigabyteRGBFusion2AorusMasterGPUController/RGBController_GigabyteRGBFusion2AorusMasterGPU.cpp +++ b/Controllers/GigabyteRGBFusion2AorusMasterGPUController/RGBController_GigabyteRGBFusion2AorusMasterGPU.cpp @@ -54,6 +54,8 @@ RGBController_RGBFusion2AorusMasterGPU::RGBController_RGBFusion2AorusMasterGPU(R RGBController_RGBFusion2AorusMasterGPU::~RGBController_RGBFusion2AorusMasterGPU() { + Shutdown(); + delete controller; } diff --git a/Controllers/GigabyteRGBFusion2BlackwellGPUController/RGBController_GigabyteRGBFusion2BlackwellGPU.cpp b/Controllers/GigabyteRGBFusion2BlackwellGPUController/RGBController_GigabyteRGBFusion2BlackwellGPU.cpp index cb7070974..ab3e8b420 100644 --- a/Controllers/GigabyteRGBFusion2BlackwellGPUController/RGBController_GigabyteRGBFusion2BlackwellGPU.cpp +++ b/Controllers/GigabyteRGBFusion2BlackwellGPUController/RGBController_GigabyteRGBFusion2BlackwellGPU.cpp @@ -174,6 +174,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 b14725f30..22c12175f 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 7b7e2e408..d6aceb568 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 5e2d5eb08..22ca53c2d 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 3ea50b27f..da3c04717 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 0432fd158..d160ecf41 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 5dae16def..f034f4cce 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 736b5fbd1..56c20b606 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 4c8e285b7..673a5ad23 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 2a3fc2081..6d650dbb8 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 a9bc27c73..d7c729314 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 dda48cb5e..e217d1a07 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 63ff92885..8aaa7c1e3 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 ca0943ba6..dab2a7ffe 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 ed222ebf5..15a48e8cb 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 7d309a856..1443f1fee 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 33c6040d8..293b63603 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 6aec74670..da3d53ac8 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 1709b00ae..35e1e7e87 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 06f7efe04..070bf80ad 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 01298f2fa..182bbb134 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 7220e0009..07cb86ed7 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 95b639e0a..4137c6dbf 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 f2354e1f6..5869a9183 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 c29b0f618..b17e28e70 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 ca6ca966a..6ca0dcad6 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 75c521429..0fa9adadd 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 440f6403d..f627369e3 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 e633ee834..d17471e2c 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 60e2e06e5..47e95efac 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 e32a21930..5978211d6 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 3b3e715f4..f7b091e1f 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 5e0a4bab0..8a9ab460e 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 f51faaf7f..82cbb41f6 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 0b54620b5..20d89d46f 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 27614a08f..8f60451fb 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 9187e1278..3b32ad877 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 400f3d7b3..bae29d3ed 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 623589e30..8cd01ec6f 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 0afc4adff..27c6164aa 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 1bf57c425..6c7b277bc 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 52df0d8a6..add2d9f17 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 0cb58f538..671008123 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 7b3c76b1d..94ec2480f 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 d303e9acd..a019986d9 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 4cb60d03e..29973ed9c 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 36e393360..3db37c014 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 8dbefb216..c38b86ffd 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 93bf7cf09..4ee93d6e8 100644 --- a/Controllers/LenovoControllers/LenovoUSBController_Gen7_8/RGBController_Lenovo_Gen7_8.cpp +++ b/Controllers/LenovoControllers/LenovoUSBController_Gen7_8/RGBController_Lenovo_Gen7_8.cpp @@ -304,6 +304,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 78f5ba9f7..b1251c887 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 e4a4c0689..07db978f5 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 8727765fb..4ffd1f284 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 c15e8e3d0..56661348a 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 58b5e7b74..f0da9b911 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 0582e2e03..9c82e4c96 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 e4ef77982..bbd22141a 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 8572ff6a1..6f871aa4d 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 e0ecb2fe4..2b20103cd 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 92e95678d..b99548e8e 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 fa56e36fb..3b5bc349d 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 9931fa752..e7adb1ede 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 38829065c..d7c2da07a 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 94eeb31f3..33dac0c9e 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 1f121943d..af1cf144e 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 5726c9186..5ee1bdc96 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 08e2fda91..54324a084 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 f3ab54683..7b5d4a14e 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 af1874d5f..9cb0b5808 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 89a5f490f..558c2f860 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 1b41597e8..492f2b5b5 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 4cf7ea304..f8122ffdd 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 313156569..5df2e3786 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 c73877837..47d45e34f 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 d78e5ef41..f62ad85ea 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 6aefdb8e5..06f9e7715 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 5a36b2c5b..5b9553171 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 b81173342..dfc319e75 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 273a39cdc..b7a2ccf59 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 163bfa4d5..195735fc2 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 5afe9c6c4..a7b6fb75c 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 112441f41..64e664627 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 232a53ab6..d5c1b1d1a 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 9170921c0..b12bd0f29 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 12b727571..b227c9d48 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 b2f58bd60..4f78dd288 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 84444ee36..266ff1665 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 bfe9d078e..995a9ad92 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 e2f69d501..26c6ace4d 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 d9978b4b5..814819b87 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 3fbf61dd2..5d7391c5f 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 b1f8fc719..a799d5fda 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 302b8e89f..d96db2c3c 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 3f716f084..638ff933c 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 e460b0241..07dc07f1b 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 65d3d99db..d8f1e6475 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 9b9256194..982f3bc81 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 339be42d6..e5cc1eee8 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 658db30d9..46c70e893 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 8cc6a9da6..4cd03adb2 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 3e8e0e032..ee253b8a9 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 2b878c6e6..0de3d32fd 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 44f7c9833..c6c9e9456 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 791cfe70c..08bae5015 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 9d4318967..b51b3deda 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 dd292ebc5..2bb441cc5 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 72f0a9ba5..ee96cb4f5 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 fb880ccbe..6ff7f0e15 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 fabed35e1..dcfce76c1 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 82152402a..d48c19392 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 e514a6ad6..504383ba5 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 8220d129a..d7b8417df 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 422d8f96b..913480d29 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 8f37219c3..9876731e3 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 48fa46b05..ce9f1f34b 100644 --- a/Controllers/PNYARGBEpicXGPUController/RGBController_PNYARGBEpicXGPU.cpp +++ b/Controllers/PNYARGBEpicXGPUController/RGBController_PNYARGBEpicXGPU.cpp @@ -53,6 +53,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 cbe9d7e39..6fcafddd1 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 b969bd02b..8f642baa8 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 ec113caae..1c173220f 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 c5b914f3e..5e14a2778 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 a8aab69d7..0a570fa18 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 108410f16..63de872d8 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 56c77ee1f..c456bb826 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 58090880f..ae4373166 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 8a0852b0f..056e14dff 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 a6535bc7a..e78be66b4 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 a44d006e0..e8fb9b2e1 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 51624c2ef..9cb56f05b 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 98b92dc91..24639ae24 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 39a1b8e9d..bf4e3d0b7 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 9c92b182e..e5e503a3f 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 f4c43f7e7..e6dc14650 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 dc702e8a3..075e1645b 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 95b6ee6a0..36d91c905 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 a04cf5aad..d61c90d32 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 3bdd22b98..01ef31008 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 4f77447da..36c041f00 100644 --- a/Controllers/QMKController/QMKVialRGBController/RGBController_QMKVialRGB.cpp +++ b/Controllers/QMKController/QMKVialRGBController/RGBController_QMKVialRGB.cpp @@ -149,6 +149,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 56a16dc00..fdf75d95a 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 f658d1ab3..b8ed9ef41 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 704bd7ad3..076a37875 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 3ad018265..4b5aadb09 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 900474cb5..d8847bb24 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 fbcfd02a5..e0140456b 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 c946cd80c..5cb5eb90c 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 29dc6c66f..754f3ca99 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 c970e4079..e91e2fd8c 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 b2aa84abf..3033ff722 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 732a08e96..9b75bae3e 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 a5c78a53a..35841f9f2 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 88b39d7bd..174c5b5c9 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 5a325061c..1aa9a8c94 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 52b43c7e9..b07406adb 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 9f7a0cebb..08aaaba21 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 9cef5b3f3..77656e788 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 ec6e1565b..fd8fde02a 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 e2b1c05bc..b54507e99 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 3befa0e32..ebe2dcac8 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 e9aa98fe5..f10c88141 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 8e70ff79d..7457af157 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 f5f101cf0..2f0b17f00 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 3a49d4d36..0126070bc 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 9744c4a2e..0d5e70ab6 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 b457f5f34..49cab04b9 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 d5b268a58..ef70bfe4e 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 bfe801c2f..8d7461b0e 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 3e9eb2cea..26fc562d8 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 7cab7dfa6..477051296 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 bf0d1ace3..5ada64592 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 6f8001867..6ca5be021 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 84902d222..fafa2bb90 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 04cb96794..277db645d 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 b764a12be..d8223879f 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 9e2ec64df..998a1ab72 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 21a138a76..a876d9eba 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 e1ccc5813..966ca372e 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 3c9c22ccd..64a4f0d58 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 62c8568b1..29359e04a 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 96a8329dc..f8d0f1724 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 ab08eb336..d105e4200 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 dcd291f1b..8ffd21224 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 f58cb6696..427337f1b 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 b42f13ff4..6ef2f91e4 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 14873ab30..5125e943b 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 24345f4b5..4cb3fc806 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 3ca0f1cab..e0c260f85 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 085bebdd3..caa1865f4 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 c5b68ac02..ec04752c4 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 1e4e3e2e4..8b4949b99 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 c237f04e8..f0c53876e 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 dc7257925..7058c152b 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 a34342fa5..eebc1b9c7 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 1b2cd0efa..6a2c94b6e 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 e8ce8b190..b3294fc78 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 fabe774d1..4287287bb 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 f65ddc419..b1b5b1810 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 0839f2cec..f28372c99 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 ea2734b5c..b626a90e3 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 d6ac59a0a..47e1d81e0 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 68ad6297e..ed538f7e0 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 d5981abc8..17b904bc2 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 f6233db89..66d2bea21 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 b7f7ff637..360c7632e 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 d31182178..6874079d9 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 f8f693857..6d9ec49dd 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 18d2d6d60..0f7cfcca9 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/ZotacTuringGPUController/RGBController_ZotacTuringGPU.cpp b/Controllers/ZotacTuringGPUController/RGBController_ZotacTuringGPU.cpp index 8c0ce4430..879d98967 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 a43fcab1f..f7964bf65 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 f9ab4a545..1ca33f392 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 ef7710ca5..fd7e86717 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 | @@ -3582,6 +3588,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 3d2839526..c3597217d 100644 --- a/RGBController/RGBController.h +++ b/RGBController/RGBController.h @@ -665,6 +665,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 8d33e67aa..a4b7ac05c 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 23becad6f..4f45ffa59 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 f017128dc..39f44a388 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 61491abbb..a66505485 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();