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