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

This commit is contained in:
Adam Honse
2026-02-02 17:10:37 -06:00
parent d05fe1bdf1
commit 70f79e97b4
332 changed files with 792 additions and 37 deletions

View File

@@ -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;

View File

@@ -16,6 +16,7 @@ class RGBController_XG270QC : public RGBController
{
public:
RGBController_XG270QC(VS_XG270QC_Controller* controller_ptr);
~RGBController_XG270QC();
void SetupZones();

View File

@@ -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;

View File

@@ -18,6 +18,7 @@ class RGBController_XG270QG : public RGBController
{
public:
RGBController_XG270QG(VS_XG270QG_Controller* controller_ptr);
~RGBController_XG270QG();
void SetupZones();